refactor(music): renamed some patches description

This commit is contained in:
inotia00
2023-06-29 18:04:17 +09:00
parent 0d3d9bbe9f
commit 5f84274808
13 changed files with 72 additions and 49 deletions

View File

@ -1,4 +1,4 @@
package app.revanced.patches.music.ads.video.patch package app.revanced.patches.music.ads.music.patch
import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Description
import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Name
@ -11,13 +11,13 @@ import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.music.utils.annotations.MusicCompatibility import app.revanced.patches.music.utils.annotations.MusicCompatibility
import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch import app.revanced.patches.music.utils.litho.patch.LithoFilterPatch
import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.music.utils.settings.resource.patch.SettingsPatch
import app.revanced.patches.shared.patch.videoads.AbstractVideoAdsPatch import app.revanced.patches.shared.patch.ads.AbstractAdsPatch
import app.revanced.util.enum.CategoryType import app.revanced.util.enum.CategoryType
import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH
@Patch @Patch
@Name("hide-video-ads") @Name("hide-music-ads")
@Description("Removes ads in the music video.") @Description("Hides ads before playing a music.")
@DependsOn( @DependsOn(
[ [
LithoFilterPatch::class, LithoFilterPatch::class,
@ -26,7 +26,7 @@ import app.revanced.util.integrations.Constants.MUSIC_ADS_PATH
) )
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class VideoAdsPatch : AbstractVideoAdsPatch( class MusicAdsPatch : AbstractAdsPatch(
"$MUSIC_ADS_PATH/HideMusicAdsPatch;->hideMusicAds()Z" "$MUSIC_ADS_PATH/HideMusicAdsPatch;->hideMusicAds()Z"
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {

View File

@ -21,7 +21,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("disable-auto-captions") @Name("disable-auto-captions")
@Description("Disable forced captions from automatically enabling in video player.") @Description("Disables forced auto captions.")
@DependsOn([SettingsPatch::class]) @DependsOn([SettingsPatch::class])
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")

View File

@ -1,4 +1,4 @@
package app.revanced.patches.music.layout.blacknavbar.patch package app.revanced.patches.music.layout.blacknavigationbar.patch
import app.revanced.extensions.toErrorResult import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Description import app.revanced.patcher.annotation.Description
@ -21,7 +21,7 @@ import app.revanced.util.integrations.Constants.MUSIC_LAYOUT
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@Name("enable-black-navbar") @Name("enable-black-navigation-bar")
@Description("Sets the navigation bar color to black.") @Description("Sets the navigation bar color to black.")
@DependsOn( @DependsOn(
[ [
@ -31,7 +31,7 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
) )
@MusicCompatibility @MusicCompatibility
@Version("0.0.1") @Version("0.0.1")
class BlackNavbarPatch : BytecodePatch( class BlackNavigationBarPatch : BytecodePatch(
listOf(TabLayoutFingerprint) listOf(TabLayoutFingerprint)
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
@ -43,7 +43,7 @@ class BlackNavbarPatch : BytecodePatch(
addInstructions( addInstructions(
targetIndex + 1, """ targetIndex + 1, """
invoke-static {}, $MUSIC_LAYOUT->enableBlackNavbar()I invoke-static {}, $MUSIC_LAYOUT->enableBlackNavigationBar()I
move-result v$targetRegister move-result v$targetRegister
""" """
) )
@ -52,7 +52,7 @@ class BlackNavbarPatch : BytecodePatch(
SettingsPatch.addMusicPreference( SettingsPatch.addMusicPreference(
CategoryType.LAYOUT, CategoryType.LAYOUT,
"revanced_enable_black_navbar", "revanced_enable_black_navigation_bar",
"true" "true"
) )

View File

@ -52,9 +52,10 @@ class ShareButtonHookPatch : BytecodePatch(
addInstructionsWithLabels( addInstructionsWithLabels(
targetIndex, """ targetIndex, """
invoke-static {}, $INTEGRATIONS_CLASS_DESCRIPTOR->overrideSharePanel()Z invoke-static {}, $INTEGRATIONS_CLASS_DESCRIPTOR->shouldHookShareButton()Z
move-result p1 move-result p1
if-eqz p1, :default if-eqz p1, :default
invoke-static {}, $INTEGRATIONS_CLASS_DESCRIPTOR->startDownloadActivity()V
return-void return-void
""", ExternalLabel("default", getInstruction(targetIndex)) """, ExternalLabel("default", getInstruction(targetIndex))
) )
@ -87,7 +88,7 @@ class ShareButtonHookPatch : BytecodePatch(
) )
SettingsPatch.addMusicPreferenceWithIntent( SettingsPatch.addMusicPreferenceWithIntent(
CategoryType.MISC, CategoryType.MISC,
"revanced_default_downloader", "revanced_external_downloader_package_name",
"revanced_hook_share_button" "revanced_hook_share_button"
) )

View File

@ -21,6 +21,7 @@ import app.revanced.util.resources.MusicResourceHelper.addMusicPreferenceWithInt
import app.revanced.util.resources.MusicResourceHelper.addReVancedMusicPreference import app.revanced.util.resources.MusicResourceHelper.addReVancedMusicPreference
import app.revanced.util.resources.MusicResourceHelper.sortMusicPreferenceCategory import app.revanced.util.resources.MusicResourceHelper.sortMusicPreferenceCategory
import app.revanced.util.resources.ResourceUtils import app.revanced.util.resources.ResourceUtils
import app.revanced.util.resources.ResourceUtils.copyResources
import org.w3c.dom.Element import org.w3c.dom.Element
import java.io.File import java.io.File
import java.nio.file.Paths import java.nio.file.Paths
@ -40,6 +41,20 @@ class SettingsPatch : AbstractSettingsResourcePatch(
super.execute(context) super.execute(context)
contexts = context contexts = context
/**
* create directory for the untranslated language resources
*/
context["res/values-v21"].mkdirs()
arrayOf(
ResourceUtils.ResourceGroup(
"values-v21",
"strings.xml"
)
).forEach { resourceGroup ->
context.copyResources("music/settings", resourceGroup)
}
/** /**
* Copy colors * Copy colors
*/ */

View File

@ -1,4 +1,4 @@
package app.revanced.patches.shared.fingerprints.videoads package app.revanced.patches.shared.fingerprints.ads
import app.revanced.patcher.extensions.or import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
import org.jf.dexlib2.iface.instruction.NarrowLiteralInstruction import org.jf.dexlib2.iface.instruction.NarrowLiteralInstruction
object LegacyVideoAdsFingerprint : MethodFingerprint( object LegacyAdsFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf(), parameters = listOf(),

View File

@ -1,8 +1,8 @@
package app.revanced.patches.shared.fingerprints.videoads package app.revanced.patches.shared.fingerprints.ads
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object MainstreamVideoAdsFingerprint : MethodFingerprint( object MainstreamAdsFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
strings = listOf("markFillRequested", "requestEnterSlot") strings = listOf("markFillRequested", "requestEnterSlot")
) )

View File

@ -1,4 +1,4 @@
package app.revanced.patches.shared.patch.videoads package app.revanced.patches.shared.patch.ads
import app.revanced.extensions.toErrorResult import app.revanced.extensions.toErrorResult
import app.revanced.patcher.annotation.Name import app.revanced.patcher.annotation.Name
@ -13,42 +13,42 @@ import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
import app.revanced.patcher.util.smali.ExternalLabel import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.shared.fingerprints.videoads.LegacyVideoAdsFingerprint import app.revanced.patches.shared.fingerprints.ads.LegacyAdsFingerprint
import app.revanced.patches.shared.fingerprints.videoads.MainstreamVideoAdsFingerprint import app.revanced.patches.shared.fingerprints.ads.MainstreamAdsFingerprint
@Name("abstract-video-ads-patch") @Name("abstract-ads-patch")
@Version("0.0.1") @Version("0.0.1")
abstract class AbstractVideoAdsPatch( abstract class AbstractAdsPatch(
private val descriptor: String private val descriptor: String
) : BytecodePatch( ) : BytecodePatch(
listOf( listOf(
LegacyVideoAdsFingerprint, LegacyAdsFingerprint,
MainstreamVideoAdsFingerprint MainstreamAdsFingerprint
) )
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {
LegacyVideoAdsFingerprint.result?.let { LegacyAdsFingerprint.result?.let {
(context.toMethodWalker(it.method) (context.toMethodWalker(it.method)
.nextMethod(13, true) .nextMethod(13, true)
.getMethod() as MutableMethod).apply { .getMethod() as MutableMethod).apply {
addInstructions( addInstructions(
0, """ 0, """
invoke-static {}, $descriptor invoke-static {}, $descriptor
move-result v1 move-result v1
""" """
) )
} }
} ?: return LegacyVideoAdsFingerprint.toErrorResult() } ?: return LegacyAdsFingerprint.toErrorResult()
MainstreamVideoAdsFingerprint.result?.let { MainstreamAdsFingerprint.result?.let {
it.mutableMethod.apply { it.mutableMethod.apply {
addInstructionsWithLabels( addInstructionsWithLabels(
0, """ 0, """
invoke-static {}, $descriptor invoke-static {}, $descriptor
move-result v0 move-result v0
if-nez v0, :show_video_ads if-nez v0, :show_ads
return-void return-void
""", ExternalLabel("show_video_ads", getInstruction(0)) """, ExternalLabel("show_ads", getInstruction(0))
) )
} }
} }

View File

@ -8,7 +8,7 @@ import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patcher.patch.annotations.DependsOn import app.revanced.patcher.patch.annotations.DependsOn
import app.revanced.patcher.patch.annotations.Patch import app.revanced.patcher.patch.annotations.Patch
import app.revanced.patches.shared.patch.videoads.AbstractVideoAdsPatch import app.revanced.patches.shared.patch.ads.AbstractAdsPatch
import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility import app.revanced.patches.youtube.utils.annotations.YouTubeCompatibility
import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch import app.revanced.patches.youtube.utils.settings.resource.patch.SettingsPatch
import app.revanced.util.integrations.Constants.ADS_PATH import app.revanced.util.integrations.Constants.ADS_PATH
@ -19,7 +19,7 @@ import app.revanced.util.integrations.Constants.ADS_PATH
@DependsOn([SettingsPatch::class]) @DependsOn([SettingsPatch::class])
@YouTubeCompatibility @YouTubeCompatibility
@Version("0.0.1") @Version("0.0.1")
class VideoAdsPatch : AbstractVideoAdsPatch( class VideoAdsPatch : AbstractAdsPatch(
"$ADS_PATH/HideVideoAdsPatch;->hideVideoAds()Z" "$ADS_PATH/HideVideoAdsPatch;->hideVideoAds()Z"
) { ) {
override fun execute(context: BytecodeContext): PatchResult { override fun execute(context: BytecodeContext): PatchResult {

View File

@ -1,11 +1,13 @@
package app.revanced.patches.youtube.utils.litho.fingerprints package app.revanced.patches.youtube.utils.litho.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags
object LithoFilterFingerprint : MethodFingerprint( object LithoFilterFingerprint : MethodFingerprint(
customFingerprint = custom@{ method, classDef -> returnType = "V",
if (method.name != "<clinit>") return@custom false accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC or AccessFlags.CONSTRUCTOR,
customFingerprint = { methodDef, _ ->
classDef.type.endsWith("LithoFilterPatch;") methodDef.definingClass == "Lapp/revanced/integrations/patches/ads/LithoFilterPatch;"
} }
) )

View File

@ -3,14 +3,12 @@
<string name="revanced_category_ads">Ads</string> <string name="revanced_category_ads">Ads</string>
<string name="revanced_category_layout">Layout</string> <string name="revanced_category_layout">Layout</string>
<string name="revanced_category_misc">Miscellaneous</string> <string name="revanced_category_misc">Miscellaneous</string>
<string name="revanced_default_downloader_summary">Package name of the downloader app such as NewPipe\'s or Seal\'s.</string> <string name="revanced_disable_auto_captions_summary">Disables forced auto captions.</string>
<string name="revanced_default_downloader_title">Package name of downloader</string> <string name="revanced_disable_auto_captions_title">Disable forced auto captions</string>
<string name="revanced_disable_auto_captions_summary">Disable forced captions from automatically enabling in video player.</string>
<string name="revanced_disable_auto_captions_title">Disable auto captions</string>
<string name="revanced_downloader_not_installed" formatted="false">%s is not installed. Please install it.</string> <string name="revanced_downloader_not_installed" formatted="false">%s is not installed. Please install it.</string>
<string name="revanced_enable_black_navbar_summary">Sets the navigation bar color to black.</string> <string name="revanced_enable_black_navigation_bar_summary">Sets the navigation bar color to black.</string>
<string name="revanced_enable_black_navbar_title">Enable black navbar</string> <string name="revanced_enable_black_navigation_bar_title">Enable black navigation bar</string>
<string name="revanced_enable_color_match_player_summary">Matches the fullscreen player color with the minimized one.</string> <string name="revanced_enable_color_match_player_summary">Matches the color of the mini player and the fullscreen player.</string>
<string name="revanced_enable_color_match_player_title">Enable color match player</string> <string name="revanced_enable_color_match_player_title">Enable color match player</string>
<string name="revanced_enable_compact_dialog_summary">Enable compact dialog on phone.</string> <string name="revanced_enable_compact_dialog_summary">Enable compact dialog on phone.</string>
<string name="revanced_enable_compact_dialog_title">Enable compact dialog</string> <string name="revanced_enable_compact_dialog_title">Enable compact dialog</string>
@ -24,8 +22,8 @@
<string name="revanced_enable_landscape_mode_title">Enable landscape mode</string> <string name="revanced_enable_landscape_mode_title">Enable landscape mode</string>
<string name="revanced_enable_new_layout_summary">Enable new player layouts. (YT Music v5.47.51+)</string> <string name="revanced_enable_new_layout_summary">Enable new player layouts. (YT Music v5.47.51+)</string>
<string name="revanced_enable_new_layout_title">Enable new layout</string> <string name="revanced_enable_new_layout_title">Enable new layout</string>
<string name="revanced_enable_old_style_mini_player_summary">Return the miniplayers to old style. (YT Music v5.55.53+)</string> <string name="revanced_enable_old_style_mini_player_summary">Return the mini players to old style. (YT Music v5.55.53+)</string>
<string name="revanced_enable_old_style_mini_player_title">Enable old style miniplayer</string> <string name="revanced_enable_old_style_mini_player_title">Enable old style mini player</string>
<string name="revanced_enable_opus_codec_summary">Enable 250/251 opus codec when playing audio.</string> <string name="revanced_enable_opus_codec_summary">Enable 250/251 opus codec when playing audio.</string>
<string name="revanced_enable_opus_codec_title">Enable opus codec</string> <string name="revanced_enable_opus_codec_title">Enable opus codec</string>
<string name="revanced_enable_save_video_quality_summary">Save the video quality value whenever you change the video quality.</string> <string name="revanced_enable_save_video_quality_summary">Save the video quality value whenever you change the video quality.</string>
@ -34,7 +32,9 @@
<string name="revanced_enable_sleep_timer_title">Enable sleep timer</string> <string name="revanced_enable_sleep_timer_title">Enable sleep timer</string>
<string name="revanced_enable_zen_mode_summary">Adds a grey tint to the video player to reduce eye strain.</string> <string name="revanced_enable_zen_mode_summary">Adds a grey tint to the video player to reduce eye strain.</string>
<string name="revanced_enable_zen_mode_title">Enable zen mode</string> <string name="revanced_enable_zen_mode_title">Enable zen mode</string>
<string name="revanced_extended_settings_title">ReVanced Extended</string> <string name="revanced_external_downloader_not_installed_warning" formatted="false">%s is not installed. Please install it.</string>
<string name="revanced_external_downloader_package_name_summary">Package name of your installed external downloader app, such as NewPipe or Seal</string>
<string name="revanced_external_downloader_package_name_title">External downloader package name</string>
<string name="revanced_hide_button_shelf_summary">Hides the button shelf from homepage and explorer.</string> <string name="revanced_hide_button_shelf_summary">Hides the button shelf from homepage and explorer.</string>
<string name="revanced_hide_button_shelf_title">Hide button shelf</string> <string name="revanced_hide_button_shelf_title">Hide button shelf</string>
<string name="revanced_hide_carousel_shelf_summary">Hides the carousel shelf from homepage and explorer.</string> <string name="revanced_hide_carousel_shelf_summary">Hides the carousel shelf from homepage and explorer.</string>
@ -43,7 +43,7 @@
<string name="revanced_hide_cast_button_title">Hide cast button</string> <string name="revanced_hide_cast_button_title">Hide cast button</string>
<string name="revanced_hide_category_bar_summary">Hides the music category bar at the top of the homepage.</string> <string name="revanced_hide_category_bar_summary">Hides the music category bar at the top of the homepage.</string>
<string name="revanced_hide_category_bar_title">Hide category bar</string> <string name="revanced_hide_category_bar_title">Hide category bar</string>
<string name="revanced_hide_music_ads_summary">Hide ads before playing a track.</string> <string name="revanced_hide_music_ads_summary">Hides ads before playing a music.</string>
<string name="revanced_hide_music_ads_title">Hide music ads</string> <string name="revanced_hide_music_ads_title">Hide music ads</string>
<string name="revanced_hide_navigation_label_summary">Hide labels in navigation bar.</string> <string name="revanced_hide_navigation_label_summary">Hide labels in navigation bar.</string>
<string name="revanced_hide_navigation_label_title">Hide navigation bar labels</string> <string name="revanced_hide_navigation_label_title">Hide navigation bar labels</string>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Translation Exception -->
<string name="revanced_extended_settings_title">ReVanced Extended</string>
</resources>