mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-06 17:44:36 +02:00
chore: lint code
This commit is contained in:
parent
a766abdf3f
commit
ffcc9e5db8
@ -6,5 +6,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object AccountSwitcherAccessibilityLabelFingerprint : LiteralValueFingerprint(
|
internal object AccountSwitcherAccessibilityLabelFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
parameters = listOf("L", "Ljava/lang/Object;"),
|
parameters = listOf("L", "Ljava/lang/Object;"),
|
||||||
literalSupplier = { AccountSwitcherAccessibility }
|
literalSupplier = { AccountSwitcherAccessibility },
|
||||||
)
|
)
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object MenuEntryFingerprint : LiteralValueFingerprint(
|
internal object MenuEntryFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { MenuEntry }
|
literalSupplier = { MenuEntry },
|
||||||
)
|
)
|
||||||
|
@ -20,5 +20,5 @@ internal object NamesInactiveAccountThumbnailSizeFingerprint : LiteralValueFinge
|
|||||||
Opcode.MOVE_RESULT_OBJECT,
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
Opcode.IF_EQZ
|
Opcode.IF_EQZ
|
||||||
),
|
),
|
||||||
literalSupplier = { NamesInactiveAccountThumbnailSize }
|
literalSupplier = { NamesInactiveAccountThumbnailSize },
|
||||||
)
|
)
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object TermsOfServiceFingerprint : LiteralValueFingerprint(
|
internal object TermsOfServiceFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
literalSupplier = { TosFooter }
|
literalSupplier = { TosFooter },
|
||||||
)
|
)
|
||||||
|
@ -17,5 +17,5 @@ internal object ActionBarComponentFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.SGET_OBJECT,
|
Opcode.SGET_OBJECT,
|
||||||
Opcode.SGET_OBJECT
|
Opcode.SGET_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { 99180 }
|
literalSupplier = { 99180 },
|
||||||
)
|
)
|
||||||
|
@ -8,5 +8,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object LikeDislikeContainerFingerprint : LiteralValueFingerprint(
|
internal object LikeDislikeContainerFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||||
literalSupplier = { LikeDislikeContainer }
|
literalSupplier = { LikeDislikeContainer },
|
||||||
)
|
)
|
||||||
|
@ -17,5 +17,5 @@ internal object AccountMenuFooterFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.IGET_OBJECT
|
Opcode.IGET_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { PrivacyTosFooter }
|
literalSupplier = { PrivacyTosFooter },
|
||||||
)
|
)
|
||||||
|
@ -9,5 +9,5 @@ internal object FloatingLayoutFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { FloatingLayout }
|
literalSupplier = { FloatingLayout },
|
||||||
)
|
)
|
@ -6,5 +6,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object InterstitialsContainerFingerprint : LiteralValueFingerprint(
|
internal object InterstitialsContainerFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
strings = listOf("overlay_controller_param"),
|
strings = listOf("overlay_controller_param"),
|
||||||
literalSupplier = { InterstitialsContainer }
|
literalSupplier = { InterstitialsContainer },
|
||||||
)
|
)
|
@ -15,6 +15,6 @@ internal object DialogSolidFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.MOVE_RESULT_OBJECT,
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
Opcode.INVOKE_STATIC
|
Opcode.INVOKE_STATIC
|
||||||
),
|
),
|
||||||
literalSupplier = { DialogSolid }
|
literalSupplier = { DialogSolid },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -5,6 +5,6 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object EndButtonsContainerFingerprint : LiteralValueFingerprint(
|
internal object EndButtonsContainerFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { EndButtonsContainer }
|
literalSupplier = { EndButtonsContainer },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object SleepTimerFingerprint : LiteralValueFingerprint(
|
internal object SleepTimerFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45372767 }
|
literalSupplier = { 45372767 },
|
||||||
)
|
)
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object TouchOutsideFingerprint : LiteralValueFingerprint(
|
internal object TouchOutsideFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
literalSupplier = { TouchOutside }
|
literalSupplier = { TouchOutside },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
object TrimSilenceConfigFingerprint : LiteralValueFingerprint(
|
object TrimSilenceConfigFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
literalSupplier = { 45619123 }
|
literalSupplier = { 45619123 },
|
||||||
)
|
)
|
@ -8,6 +8,6 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
object TrimSilenceSwitchFingerprint : LiteralValueFingerprint(
|
object TrimSilenceSwitchFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
literalSupplier = { TrimSilenceSwitch }
|
literalSupplier = { TrimSilenceSwitch },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,6 +12,6 @@ internal object ChipCloudFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_STATIC,
|
Opcode.INVOKE_STATIC,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { ChipCloud }
|
literalSupplier = { ChipCloud },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -10,6 +10,6 @@ internal object FloatingButtonParentFingerprint : LiteralValueFingerprint(
|
|||||||
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
opcodes = listOf(Opcode.INVOKE_DIRECT),
|
opcodes = listOf(Opcode.INVOKE_DIRECT),
|
||||||
literalSupplier = { 259982244 }
|
literalSupplier = { 259982244 },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,5 +8,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object PlayerOverlayChipFingerprint : LiteralValueFingerprint(
|
internal object PlayerOverlayChipFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "L",
|
returnType = "L",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
literalSupplier = { PlayerOverlayChip }
|
literalSupplier = { PlayerOverlayChip },
|
||||||
)
|
)
|
||||||
|
@ -4,5 +4,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object SoundSearchFingerprint : LiteralValueFingerprint(
|
internal object SoundSearchFingerprint : LiteralValueFingerprint(
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45625491 }
|
literalSupplier = { 45625491 },
|
||||||
)
|
)
|
@ -8,5 +8,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object TasteBuilderConstructorFingerprint : LiteralValueFingerprint(
|
internal object TasteBuilderConstructorFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||||
literalSupplier = { MusicTasteBuilderShelf }
|
literalSupplier = { MusicTasteBuilderShelf },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object TooltipContentViewFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { ToolTipContentView }
|
literalSupplier = { ToolTipContentView },
|
||||||
)
|
)
|
||||||
|
@ -9,6 +9,6 @@ internal object TopBarMenuItemImageViewFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { TopBarMenuItemImageView }
|
literalSupplier = { TopBarMenuItemImageView },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -15,6 +15,6 @@ internal object TabletIdentifierFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT
|
Opcode.MOVE_RESULT
|
||||||
),
|
),
|
||||||
literalSupplier = { IsTablet }
|
literalSupplier = { IsTablet },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,5 +9,5 @@ internal object BrowseIdFingerprint : LiteralValueFingerprint(
|
|||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
strings = listOf("FEmusic_offline"),
|
strings = listOf("FEmusic_offline"),
|
||||||
literalSupplier = { 45358178 }
|
literalSupplier = { 45358178 },
|
||||||
)
|
)
|
@ -12,6 +12,6 @@ internal object DesignBottomSheetDialogFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { DesignBottomSheetDialog }
|
literalSupplier = { DesignBottomSheetDialog },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -8,5 +8,5 @@ internal object BackgroundPlaybackManagerFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { 64657230 }
|
literalSupplier = { 64657230 },
|
||||||
)
|
)
|
@ -8,5 +8,5 @@ internal object PodCastConfigFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45388403 }
|
literalSupplier = { 45388403 },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object BottomSheetRecyclerViewFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Lj${'$'}/util/Optional;",
|
returnType = "Lj${'$'}/util/Optional;",
|
||||||
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { BottomSheetRecyclerView }
|
literalSupplier = { BottomSheetRecyclerView },
|
||||||
)
|
)
|
@ -10,6 +10,6 @@ internal object TabLayoutFingerprint : LiteralValueFingerprint(
|
|||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
strings = listOf("FEmusic_radio_builder"),
|
strings = listOf("FEmusic_radio_builder"),
|
||||||
literalSupplier = { ColorGrey }
|
literalSupplier = { ColorGrey },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -19,6 +19,6 @@ internal object TabLayoutTextFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_INTERFACE,
|
Opcode.INVOKE_INTERFACE,
|
||||||
Opcode.MOVE_RESULT
|
Opcode.MOVE_RESULT
|
||||||
),
|
),
|
||||||
literalSupplier = { Text1 }
|
literalSupplier = { Text1 },
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -747,7 +747,8 @@ object PlayerComponentsPatch : BaseBytecodePatch(
|
|||||||
getReference<MethodReference>()?.returnType == "Ljava/lang/String;"
|
getReference<MethodReference>()?.returnType == "Ljava/lang/String;"
|
||||||
}
|
}
|
||||||
val enumRegister = getInstruction<FiveRegisterInstruction>(enumIndex).registerD
|
val enumRegister = getInstruction<FiveRegisterInstruction>(enumIndex).registerD
|
||||||
val enumClass = (getInstruction<ReferenceInstruction>(enumIndex).reference as MethodReference).parameterTypes.first()
|
val enumClass =
|
||||||
|
(getInstruction<ReferenceInstruction>(enumIndex).reference as MethodReference).parameterTypes.first()
|
||||||
|
|
||||||
addInstruction(
|
addInstruction(
|
||||||
enumIndex,
|
enumIndex,
|
||||||
@ -758,8 +759,10 @@ object PlayerComponentsPatch : BaseBytecodePatch(
|
|||||||
|
|
||||||
// region set static field
|
// region set static field
|
||||||
|
|
||||||
val shuffleClassIndex = indexOfFirstInstructionReversedOrThrow(accessibilityIndex, Opcode.CHECK_CAST)
|
val shuffleClassIndex =
|
||||||
val shuffleClass = getInstruction<ReferenceInstruction>(shuffleClassIndex).reference.toString()
|
indexOfFirstInstructionReversedOrThrow(accessibilityIndex, Opcode.CHECK_CAST)
|
||||||
|
val shuffleClass =
|
||||||
|
getInstruction<ReferenceInstruction>(shuffleClassIndex).reference.toString()
|
||||||
val shuffleMutableClass = context.findClass { classDef ->
|
val shuffleMutableClass = context.findClass { classDef ->
|
||||||
classDef.type == shuffleClass
|
classDef.type == shuffleClass
|
||||||
}!!.mutableClass
|
}!!.mutableClass
|
||||||
|
@ -8,5 +8,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object AudioVideoSwitchToggleFingerprint : LiteralValueFingerprint(
|
internal object AudioVideoSwitchToggleFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||||
literalSupplier = { AudioVideoSwitchToggle }
|
literalSupplier = { AudioVideoSwitchToggle },
|
||||||
)
|
)
|
@ -11,5 +11,5 @@ internal object MiniPlayerDefaultTextFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.SGET_OBJECT,
|
Opcode.SGET_OBJECT,
|
||||||
Opcode.IF_NE
|
Opcode.IF_NE
|
||||||
),
|
),
|
||||||
literalSupplier = { MiniPlayerDefaultText }
|
literalSupplier = { MiniPlayerDefaultText },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object MiniPlayerParentFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { MiniPlayerMdxPlaying }
|
literalSupplier = { MiniPlayerMdxPlaying },
|
||||||
)
|
)
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object OldEngagementPanelFingerprint : LiteralValueFingerprint(
|
internal object OldEngagementPanelFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45427672 }
|
literalSupplier = { 45427672 },
|
||||||
)
|
)
|
@ -8,5 +8,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object OldPlayerBackgroundFingerprint : LiteralValueFingerprint(
|
internal object OldPlayerBackgroundFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45415319 }
|
literalSupplier = { 45415319 },
|
||||||
)
|
)
|
@ -8,5 +8,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object OldPlayerLayoutFingerprint : LiteralValueFingerprint(
|
internal object OldPlayerLayoutFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45399578 }
|
literalSupplier = { 45399578 },
|
||||||
)
|
)
|
@ -15,5 +15,5 @@ internal object RemixGenericButtonFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.MOVE_RESULT,
|
Opcode.MOVE_RESULT,
|
||||||
Opcode.FLOAT_TO_INT
|
Opcode.FLOAT_TO_INT
|
||||||
),
|
),
|
||||||
literalSupplier = { RemixGenericButtonSize }
|
literalSupplier = { RemixGenericButtonSize },
|
||||||
)
|
)
|
||||||
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object SwipeToCloseFingerprint : LiteralValueFingerprint(
|
internal object SwipeToCloseFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { 45398432 }
|
literalSupplier = { 45398432 },
|
||||||
)
|
)
|
@ -10,5 +10,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object HeaderSwitchConfigFingerprint : LiteralValueFingerprint(
|
internal object HeaderSwitchConfigFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
literalSupplier = { 45617851 }
|
literalSupplier = { 45617851 },
|
||||||
)
|
)
|
@ -6,8 +6,8 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
|
||||||
internal object PlaybackRateBottomSheetClassFingerprint : LiteralValueFingerprint(
|
internal object PlaybackRateBottomSheetClassFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { VarispeedUnavailableTitle }
|
literalSupplier = { VarispeedUnavailableTitle },
|
||||||
)
|
)
|
@ -7,5 +7,5 @@ import com.android.tools.smali.dexlib2.Opcode
|
|||||||
internal object TextComponentFingerprint : LiteralValueFingerprint(
|
internal object TextComponentFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
opcodes = listOf(Opcode.CONST_HIGH16),
|
opcodes = listOf(Opcode.CONST_HIGH16),
|
||||||
literalSupplier = { ButtonIconPaddingMedium }
|
literalSupplier = { ButtonIconPaddingMedium },
|
||||||
)
|
)
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object SeekBarConstructorFingerprint : LiteralValueFingerprint(
|
internal object SeekBarConstructorFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { InlineTimeBarAdBreakMarkerColor }
|
literalSupplier = { InlineTimeBarAdBreakMarkerColor },
|
||||||
)
|
)
|
@ -11,5 +11,5 @@ internal object VideoQualityListFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_INTERFACE,
|
Opcode.INVOKE_INTERFACE,
|
||||||
Opcode.RETURN_VOID
|
Opcode.RETURN_VOID
|
||||||
),
|
),
|
||||||
literalSupplier = { QualityAuto }
|
literalSupplier = { QualityAuto },
|
||||||
)
|
)
|
@ -19,5 +19,5 @@ internal object MusicAdsFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.IPUT_WIDE,
|
Opcode.IPUT_WIDE,
|
||||||
Opcode.CONST_4,
|
Opcode.CONST_4,
|
||||||
),
|
),
|
||||||
literalSupplier = { 4 }
|
literalSupplier = { 4 },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object SettingsMenuFingerprint : LiteralValueFingerprint(
|
internal object SettingsMenuFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
literalSupplier = { 16908351 }
|
literalSupplier = { 16908351 },
|
||||||
)
|
)
|
@ -6,5 +6,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object InterstitialsContainerFingerprint : LiteralValueFingerprint(
|
internal object InterstitialsContainerFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
strings = listOf("overlay_controller_param"),
|
strings = listOf("overlay_controller_param"),
|
||||||
literalSupplier = { InterstitialsContainer }
|
literalSupplier = { InterstitialsContainer },
|
||||||
)
|
)
|
@ -14,5 +14,5 @@ internal object BreakingNewsFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { HorizontalCardList }
|
literalSupplier = { HorizontalCardList },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object CaptionsButtonFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { CaptionToggleContainer }
|
literalSupplier = { CaptionToggleContainer },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object CaptionsButtonSyntheticFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL or AccessFlags.BRIDGE or AccessFlags.SYNTHETIC,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL or AccessFlags.BRIDGE or AccessFlags.SYNTHETIC,
|
||||||
parameters = listOf("Landroid/content/Context;"),
|
parameters = listOf("Landroid/content/Context;"),
|
||||||
literalSupplier = { CaptionToggleContainer }
|
literalSupplier = { CaptionToggleContainer },
|
||||||
)
|
)
|
@ -11,5 +11,5 @@ internal object ChannelListSubMenuFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { ChannelListSubMenu }
|
literalSupplier = { ChannelListSubMenu },
|
||||||
)
|
)
|
@ -6,8 +6,8 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
|
||||||
internal object ChannelListSubMenuTabletFingerprint : LiteralValueFingerprint(
|
internal object ChannelListSubMenuTabletFingerprint : LiteralValueFingerprint(
|
||||||
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
returnType = "V",
|
literalSupplier = { DrawerResults },
|
||||||
literalSupplier = { DrawerResults }
|
|
||||||
)
|
)
|
@ -15,5 +15,5 @@ internal object FilterBarHeightFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.MOVE_RESULT,
|
Opcode.MOVE_RESULT,
|
||||||
Opcode.IPUT
|
Opcode.IPUT
|
||||||
),
|
),
|
||||||
literalSupplier = { FilterBarHeight }
|
literalSupplier = { FilterBarHeight },
|
||||||
)
|
)
|
@ -16,5 +16,5 @@ internal object LatestVideosButtonFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { Bar }
|
literalSupplier = { Bar },
|
||||||
)
|
)
|
@ -14,5 +14,5 @@ internal object RelatedChipCloudFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { RelatedChipCloudMargin }
|
literalSupplier = { RelatedChipCloudMargin },
|
||||||
)
|
)
|
@ -16,5 +16,5 @@ internal object SearchResultsChipBarFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { BarContainerHeight }
|
literalSupplier = { BarContainerHeight },
|
||||||
)
|
)
|
@ -11,5 +11,5 @@ internal object ShowMoreButtonFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_STATIC,
|
Opcode.INVOKE_STATIC,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { ExpandButtonDown }
|
literalSupplier = { ExpandButtonDown },
|
||||||
)
|
)
|
@ -7,9 +7,9 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
|
||||||
internal object ContextualMenuItemBuilderFingerprint : LiteralValueFingerprint(
|
internal object ContextualMenuItemBuilderFingerprint : LiteralValueFingerprint(
|
||||||
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL or AccessFlags.SYNTHETIC,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL or AccessFlags.SYNTHETIC,
|
||||||
parameters = listOf("L", "L"),
|
parameters = listOf("L", "L"),
|
||||||
returnType = "V",
|
|
||||||
opcodes = listOf(
|
opcodes = listOf(
|
||||||
Opcode.CHECK_CAST,
|
Opcode.CHECK_CAST,
|
||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
@ -17,5 +17,5 @@ internal object ContextualMenuItemBuilderFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.MOVE_RESULT,
|
Opcode.MOVE_RESULT,
|
||||||
Opcode.ADD_INT_2ADDR
|
Opcode.ADD_INT_2ADDR
|
||||||
),
|
),
|
||||||
literalSupplier = { PosterArtWidthDefault }
|
literalSupplier = { PosterArtWidthDefault },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.Compa
|
|||||||
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
||||||
|
|
||||||
internal object AccountListParentFingerprint : LiteralValueFingerprint(
|
internal object AccountListParentFingerprint : LiteralValueFingerprint(
|
||||||
literalSupplier = { CompactListItem }
|
literalSupplier = { CompactListItem },
|
||||||
)
|
)
|
@ -11,5 +11,5 @@ internal object AccountMenuParentFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.INVOKE_VIRTUAL,
|
Opcode.INVOKE_VIRTUAL,
|
||||||
Opcode.MOVE_RESULT_OBJECT
|
Opcode.MOVE_RESULT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { CompactLink }
|
literalSupplier = { CompactLink },
|
||||||
)
|
)
|
@ -6,5 +6,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
internal object AccountSwitcherAccessibilityLabelFingerprint : LiteralValueFingerprint(
|
internal object AccountSwitcherAccessibilityLabelFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
parameters = listOf("L", "Ljava/lang/Object;"),
|
parameters = listOf("L", "Ljava/lang/Object;"),
|
||||||
literalSupplier = { AccountSwitcherAccessibility }
|
literalSupplier = { AccountSwitcherAccessibility },
|
||||||
)
|
)
|
@ -15,5 +15,5 @@ internal object FloatingMicrophoneFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.IF_EQZ,
|
Opcode.IF_EQZ,
|
||||||
Opcode.RETURN_VOID
|
Opcode.RETURN_VOID
|
||||||
),
|
),
|
||||||
literalSupplier = { Fab }
|
literalSupplier = { Fab },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object PiPNotificationFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { EditSettingsAction }
|
literalSupplier = { EditSettingsAction },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object TooltipContentFullscreenFingerprint : LiteralValueFingerprint(
|
internal object TooltipContentFullscreenFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { 45384061 }
|
literalSupplier = { 45384061 },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object TooltipContentViewFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { ToolTipContentView }
|
literalSupplier = { ToolTipContentView },
|
||||||
)
|
)
|
||||||
|
@ -6,7 +6,7 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
import com.android.tools.smali.dexlib2.AccessFlags
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
|
||||||
internal object AccessibilityOfflineButtonSyncFingerprint : LiteralValueFingerprint(
|
internal object AccessibilityOfflineButtonSyncFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { AccessibilityOfflineButtonSync }
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
|
literalSupplier = { AccessibilityOfflineButtonSync },
|
||||||
)
|
)
|
@ -3,5 +3,5 @@ package app.revanced.patches.youtube.general.loadingscreen.fingerprints
|
|||||||
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
||||||
|
|
||||||
internal object GradientLoadingScreenPrimaryFingerprint : LiteralValueFingerprint(
|
internal object GradientLoadingScreenPrimaryFingerprint : LiteralValueFingerprint(
|
||||||
literalSupplier = { 45412406 }
|
literalSupplier = { 45412406 },
|
||||||
)
|
)
|
@ -3,5 +3,5 @@ package app.revanced.patches.youtube.general.loadingscreen.fingerprints
|
|||||||
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
||||||
|
|
||||||
internal object GradientLoadingScreenSecondaryFingerprint : LiteralValueFingerprint(
|
internal object GradientLoadingScreenSecondaryFingerprint : LiteralValueFingerprint(
|
||||||
literalSupplier = { 45418917 }
|
literalSupplier = { 45418917 },
|
||||||
)
|
)
|
@ -7,8 +7,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
|
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerDimensionsCalculatorParentFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerDimensionsCalculatorParentFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { FloatyBarTopMargin }
|
literalSupplier = { FloatyBarTopMargin },
|
||||||
)
|
)
|
@ -10,8 +10,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
*/
|
*/
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernCloseButtonFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernCloseButtonFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "Landroid/widget/ImageView;",
|
returnType = "Landroid/widget/ImageView;",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { ModernMiniPlayerClose }
|
literalSupplier = { ModernMiniPlayerClose },
|
||||||
)
|
)
|
@ -8,5 +8,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object MiniplayerModernDragAndDropFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernDragAndDropFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { 45628752 }
|
literalSupplier = { 45628752 },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernEnabledFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernEnabledFingerprint : LiteralValueFingerprint(
|
||||||
literalSupplier = { 45622882 }
|
literalSupplier = { 45622882 },
|
||||||
)
|
)
|
@ -10,8 +10,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
*/
|
*/
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernExpandButtonFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernExpandButtonFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "Landroid/widget/ImageView;",
|
returnType = "Landroid/widget/ImageView;",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { ModernMiniPlayerExpand }
|
literalSupplier = { ModernMiniPlayerExpand },
|
||||||
)
|
)
|
@ -10,8 +10,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
*/
|
*/
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernExpandCloseDrawablesFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernExpandCloseDrawablesFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
literalSupplier = { YtOutlinePictureInPictureWhite }
|
literalSupplier = { YtOutlinePictureInPictureWhite },
|
||||||
)
|
)
|
@ -10,8 +10,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
*/
|
*/
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernForwardButtonFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernForwardButtonFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "Landroid/widget/ImageView;",
|
returnType = "Landroid/widget/ImageView;",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { ModernMiniPlayerForwardButton }
|
literalSupplier = { ModernMiniPlayerForwardButton },
|
||||||
)
|
)
|
@ -10,8 +10,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
*/
|
*/
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernOverlayViewFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernOverlayViewFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { ScrimOverlay }
|
literalSupplier = { ScrimOverlay },
|
||||||
)
|
)
|
@ -10,8 +10,8 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
*/
|
*/
|
||||||
@Suppress("SpellCheckingInspection")
|
@Suppress("SpellCheckingInspection")
|
||||||
internal object MiniplayerModernRewindButtonFingerprint : LiteralValueFingerprint(
|
internal object MiniplayerModernRewindButtonFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
|
||||||
returnType = "Landroid/widget/ImageView;",
|
returnType = "Landroid/widget/ImageView;",
|
||||||
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { ModernMiniPlayerRewindButton }
|
literalSupplier = { ModernMiniPlayerRewindButton },
|
||||||
)
|
)
|
@ -8,9 +8,9 @@ import app.revanced.patches.youtube.general.music.fingerprints.AppDeepLinkFinger
|
|||||||
import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE
|
import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE
|
||||||
import app.revanced.patches.youtube.utils.gms.GmsCoreSupportResourcePatch.PackageNameYouTubeMusic
|
import app.revanced.patches.youtube.utils.gms.GmsCoreSupportResourcePatch.PackageNameYouTubeMusic
|
||||||
import app.revanced.patches.youtube.utils.integrations.Constants.GENERAL_PATH
|
import app.revanced.patches.youtube.utils.integrations.Constants.GENERAL_PATH
|
||||||
import app.revanced.patches.youtube.utils.settings.ResourceUtils.addEntryValues
|
|
||||||
import app.revanced.patches.youtube.utils.settings.SettingsBytecodePatch
|
import app.revanced.patches.youtube.utils.settings.SettingsBytecodePatch
|
||||||
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||||
|
import app.revanced.util.addEntryValues
|
||||||
import app.revanced.util.findMethodOrThrow
|
import app.revanced.util.findMethodOrThrow
|
||||||
import app.revanced.util.getReference
|
import app.revanced.util.getReference
|
||||||
import app.revanced.util.indexOfFirstInstructionOrThrow
|
import app.revanced.util.indexOfFirstInstructionOrThrow
|
||||||
|
@ -3,5 +3,5 @@ package app.revanced.patches.youtube.general.navigation.fingerprints
|
|||||||
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
||||||
|
|
||||||
internal object TranslucentNavigationBarFingerprint : LiteralValueFingerprint(
|
internal object TranslucentNavigationBarFingerprint : LiteralValueFingerprint(
|
||||||
literalSupplier = { 45630927 }
|
literalSupplier = { 45630927 },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.YtOut
|
|||||||
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
import app.revanced.util.fingerprint.LiteralValueFingerprint
|
||||||
|
|
||||||
internal object CreateButtonDrawableFingerprint : LiteralValueFingerprint(
|
internal object CreateButtonDrawableFingerprint : LiteralValueFingerprint(
|
||||||
literalSupplier = { YtOutlineVideoCamera }
|
literalSupplier = { YtOutlineVideoCamera },
|
||||||
)
|
)
|
@ -7,5 +7,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
|
|
||||||
internal object DrawerContentViewConstructorFingerprint : LiteralValueFingerprint(
|
internal object DrawerContentViewConstructorFingerprint : LiteralValueFingerprint(
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||||
literalSupplier = { DrawerContentView }
|
literalSupplier = { DrawerContentView },
|
||||||
)
|
)
|
@ -10,5 +10,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object ImageSearchButtonConfigFingerprint : LiteralValueFingerprint(
|
internal object ImageSearchButtonConfigFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
literalSupplier = { 45617544 }
|
literalSupplier = { 45617544 },
|
||||||
)
|
)
|
@ -6,5 +6,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
object SearchBarParentFingerprint : LiteralValueFingerprint(
|
object SearchBarParentFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
strings = listOf("voz-target-id"),
|
strings = listOf("voz-target-id"),
|
||||||
literalSupplier = { VoiceSearch }
|
literalSupplier = { VoiceSearch },
|
||||||
)
|
)
|
@ -6,5 +6,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
object SearchResultFingerprint : LiteralValueFingerprint(
|
object SearchResultFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Landroid/view/View;",
|
returnType = "Landroid/view/View;",
|
||||||
strings = listOf("search_filter_chip_applied", "search_original_chip_query"),
|
strings = listOf("search_filter_chip_applied", "search_original_chip_query"),
|
||||||
literalSupplier = { VoiceSearch }
|
literalSupplier = { VoiceSearch },
|
||||||
)
|
)
|
@ -13,5 +13,5 @@ internal object SetActionBarRingoFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.IGET_OBJECT,
|
Opcode.IGET_OBJECT,
|
||||||
Opcode.INVOKE_STATIC
|
Opcode.INVOKE_STATIC
|
||||||
),
|
),
|
||||||
literalSupplier = { ActionBarRingo }
|
literalSupplier = { ActionBarRingo },
|
||||||
)
|
)
|
@ -4,9 +4,9 @@ import app.revanced.patcher.data.ResourceContext
|
|||||||
import app.revanced.patcher.patch.PatchException
|
import app.revanced.patcher.patch.PatchException
|
||||||
import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.stringPatchOption
|
import app.revanced.patcher.patch.options.PatchOption.PatchExtensions.stringPatchOption
|
||||||
import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE
|
import app.revanced.patches.youtube.utils.compatibility.Constants.COMPATIBLE_PACKAGE
|
||||||
import app.revanced.patches.youtube.utils.settings.ResourceUtils.addEntryValues
|
|
||||||
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||||
import app.revanced.util.ResourceGroup
|
import app.revanced.util.ResourceGroup
|
||||||
|
import app.revanced.util.addEntryValues
|
||||||
import app.revanced.util.copyResources
|
import app.revanced.util.copyResources
|
||||||
import app.revanced.util.patch.BaseResourcePatch
|
import app.revanced.util.patch.BaseResourcePatch
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package app.revanced.patches.youtube.layout.theme
|
package app.revanced.patches.youtube.layout.theme
|
||||||
|
|
||||||
import app.revanced.patcher.data.ResourceContext
|
import app.revanced.patcher.data.ResourceContext
|
||||||
|
import app.revanced.patcher.patch.PatchException
|
||||||
import app.revanced.patcher.patch.ResourcePatch
|
import app.revanced.patcher.patch.ResourcePatch
|
||||||
import app.revanced.patcher.patch.annotation.Patch
|
import app.revanced.patcher.patch.annotation.Patch
|
||||||
import app.revanced.patches.shared.drawable.DrawableColorPatch
|
import app.revanced.patches.shared.drawable.DrawableColorPatch
|
||||||
@ -10,28 +11,32 @@ import org.w3c.dom.Element
|
|||||||
@Patch(dependencies = [DrawableColorPatch::class])
|
@Patch(dependencies = [DrawableColorPatch::class])
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
object BaseThemePatch : ResourcePatch() {
|
object BaseThemePatch : ResourcePatch() {
|
||||||
|
private const val SPLASH_SCREEN_COLOR_NAME = "splashScreenColor"
|
||||||
|
private const val SPLASH_SCREEN_COLOR_ATTRIBUTE = "?attr/$SPLASH_SCREEN_COLOR_NAME"
|
||||||
|
|
||||||
override fun execute(context: ResourceContext) {
|
override fun execute(context: ResourceContext) {
|
||||||
|
|
||||||
DrawableColorPatch.injectCall("$UTILS_PATH/DrawableColorPatch;->getColor(I)I")
|
DrawableColorPatch.injectCall("$UTILS_PATH/DrawableColorPatch;->getColor(I)I")
|
||||||
|
|
||||||
// edit the resource files to change the splash screen color
|
// edit the resource files to change the splash screen color
|
||||||
val attrsPath = "res/values/attrs.xml"
|
val attrsResourceFile = "res/values/attrs.xml"
|
||||||
val stylesPaths: List<String> = listOf(
|
val stylesResourceFiles =
|
||||||
"res/values/styles.xml", // Android 11 (and below)
|
listOf("values", "values-v31").map { valuesPath ->
|
||||||
"res/values-v31/styles.xml", // Android 12 (and above)
|
"res/$valuesPath/styles.xml"
|
||||||
)
|
}.toTypedArray()
|
||||||
|
|
||||||
context.xmlEditor[attrsPath].use { editor ->
|
context.xmlEditor[attrsResourceFile].use { editor ->
|
||||||
val file = editor.file
|
val file = editor.file
|
||||||
|
|
||||||
(file.getElementsByTagName("resources").item(0) as Element).appendChild(
|
(file.getElementsByTagName("resources").item(0) as Element).appendChild(
|
||||||
file.createElement("attr").apply {
|
file.createElement("attr").apply {
|
||||||
setAttribute("format", "reference")
|
setAttribute("format", "reference")
|
||||||
setAttribute("name", "splashScreenColor")
|
setAttribute("name", SPLASH_SCREEN_COLOR_NAME)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
stylesPaths.forEachIndexed { pathIndex, stylesPath ->
|
|
||||||
|
stylesResourceFiles.forEachIndexed { pathIndex, stylesPath ->
|
||||||
context.xmlEditor[stylesPath].use { editor ->
|
context.xmlEditor[stylesPath].use { editor ->
|
||||||
val file = editor.file
|
val file = editor.file
|
||||||
|
|
||||||
@ -62,7 +67,7 @@ object BaseThemePatch : ResourcePatch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
1 -> when (nodeAttributeName) {
|
1 -> when (nodeAttributeName) {
|
||||||
"Base.Theme.YouTube.Launcher" -> "?attr/splashScreenColor"
|
"Base.Theme.YouTube.Launcher" -> SPLASH_SCREEN_COLOR_ATTRIBUTE
|
||||||
else -> "null"
|
else -> "null"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,12 +83,27 @@ object BaseThemePatch : ResourcePatch() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
arrayOf("drawable", "drawable-sw600dp").forEach { quantumLaunchScreenPath ->
|
val splashScreenResourceFiles =
|
||||||
context.xmlEditor["res/$quantumLaunchScreenPath/quantum_launchscreen_youtube.xml"].use { editor ->
|
listOf("drawable", "drawable-sw600dp").map { quantumLaunchScreenPath ->
|
||||||
val resourcesNode = editor.file.getElementsByTagName("item").item(0) as Element
|
"res/$quantumLaunchScreenPath/quantum_launchscreen_youtube.xml"
|
||||||
|
}.toTypedArray()
|
||||||
|
|
||||||
if (resourcesNode.attributes.getNamedItem("android:drawable") != null)
|
splashScreenResourceFiles.forEach editSplashScreen@{ resourceFile ->
|
||||||
resourcesNode.setAttribute("android:drawable", "?attr/splashScreenColor")
|
context.xmlEditor[resourceFile].use { editor ->
|
||||||
|
val document = editor.file
|
||||||
|
|
||||||
|
val layerList = document.getElementsByTagName("layer-list").item(0) as Element
|
||||||
|
|
||||||
|
val childNodes = layerList.childNodes
|
||||||
|
for (i in 0 until childNodes.length) {
|
||||||
|
val node = childNodes.item(i)
|
||||||
|
if (node is Element && node.hasAttribute("android:drawable")) {
|
||||||
|
node.setAttribute("android:drawable", SPLASH_SCREEN_COLOR_ATTRIBUTE)
|
||||||
|
return@editSplashScreen
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw PatchException("Failed to modify launch screen")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,9 +44,6 @@ object MaterialYouPatch : BaseResourcePatch(
|
|||||||
|
|
||||||
context.copyXmlNode("youtube/materialyou/host", "values-v31/colors.xml", "resources")
|
context.copyXmlNode("youtube/materialyou/host", "values-v31/colors.xml", "resources")
|
||||||
|
|
||||||
/**
|
|
||||||
* Add settings
|
|
||||||
*/
|
|
||||||
context.updatePatchStatusTheme("MaterialYou")
|
context.updatePatchStatusTheme("MaterialYou")
|
||||||
|
|
||||||
isMonetPatchIncluded = true
|
isMonetPatchIncluded = true
|
||||||
|
@ -10,5 +10,5 @@ internal object BackgroundPlaybackManagerFingerprint : LiteralValueFingerprint(
|
|||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||||
parameters = listOf("L"),
|
parameters = listOf("L"),
|
||||||
opcodes = listOf(Opcode.AND_INT_LIT16),
|
opcodes = listOf(Opcode.AND_INT_LIT16),
|
||||||
literalSupplier = { 64657230 }
|
literalSupplier = { 64657230 },
|
||||||
)
|
)
|
@ -18,5 +18,5 @@ internal object BackgroundPlaybackSettingsFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.IF_NEZ,
|
Opcode.IF_NEZ,
|
||||||
Opcode.GOTO
|
Opcode.GOTO
|
||||||
),
|
),
|
||||||
literalSupplier = { BackgroundCategory }
|
literalSupplier = { BackgroundCategory },
|
||||||
)
|
)
|
||||||
|
@ -8,5 +8,5 @@ internal object KidsBackgroundPlaybackPolicyControllerFingerprint : LiteralValue
|
|||||||
returnType = "V",
|
returnType = "V",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||||
parameters = listOf("I", "L", "L"),
|
parameters = listOf("I", "L", "L"),
|
||||||
literalSupplier = { 5 }
|
literalSupplier = { 5 },
|
||||||
)
|
)
|
||||||
|
@ -13,5 +13,5 @@ internal object PiPControllerFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.IF_NEZ,
|
Opcode.IF_NEZ,
|
||||||
Opcode.INVOKE_DIRECT
|
Opcode.INVOKE_DIRECT
|
||||||
),
|
),
|
||||||
literalSupplier = { 151635310 }
|
literalSupplier = { 151635310 },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object BottomSheetRecyclerViewFingerprint : LiteralValueFingerprint(
|
|||||||
returnType = "Lj${'$'}/util/Optional;",
|
returnType = "Lj${'$'}/util/Optional;",
|
||||||
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { BottomSheetRecyclerView }
|
literalSupplier = { BottomSheetRecyclerView },
|
||||||
)
|
)
|
@ -4,5 +4,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object AmbientModeInFullscreenFingerprint : LiteralValueFingerprint(
|
internal object AmbientModeInFullscreenFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { 45389368 }
|
literalSupplier = { 45389368 },
|
||||||
)
|
)
|
@ -10,5 +10,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
*/
|
*/
|
||||||
internal object LithoSubtitleButtonConfigFingerprint : LiteralValueFingerprint(
|
internal object LithoSubtitleButtonConfigFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "Z",
|
returnType = "Z",
|
||||||
literalSupplier = { 45421555 }
|
literalSupplier = { 45421555 },
|
||||||
)
|
)
|
@ -5,5 +5,5 @@ import app.revanced.util.fingerprint.LiteralValueFingerprint
|
|||||||
|
|
||||||
internal object MusicAppDeeplinkButtonParentFingerprint : LiteralValueFingerprint(
|
internal object MusicAppDeeplinkButtonParentFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
literalSupplier = { MusicAppDeeplinkButtonView }
|
literalSupplier = { MusicAppDeeplinkButtonView },
|
||||||
)
|
)
|
@ -14,5 +14,5 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
internal object YouTubeControlsOverlaySubtitleButtonFingerprint : LiteralValueFingerprint(
|
internal object YouTubeControlsOverlaySubtitleButtonFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "L",
|
returnType = "L",
|
||||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
|
||||||
literalSupplier = { YouTubeControlsOverlaySubtitleButton }
|
literalSupplier = { YouTubeControlsOverlaySubtitleButton },
|
||||||
)
|
)
|
@ -5,7 +5,7 @@ import com.android.tools.smali.dexlib2.AccessFlags
|
|||||||
|
|
||||||
internal object ShortsLiveStreamEmojiPickerOnClickListenerFingerprint : LiteralValueFingerprint(
|
internal object ShortsLiveStreamEmojiPickerOnClickListenerFingerprint : LiteralValueFingerprint(
|
||||||
returnType = "V",
|
returnType = "V",
|
||||||
parameters = listOf("L"),
|
|
||||||
accessFlags = AccessFlags.PUBLIC.value,
|
accessFlags = AccessFlags.PUBLIC.value,
|
||||||
literalSupplier = { 126326492 }
|
parameters = listOf("L"),
|
||||||
|
literalSupplier = { 126326492 },
|
||||||
)
|
)
|
@ -9,5 +9,5 @@ internal object ShortsLiveStreamEmojiPickerOpacityFingerprint : LiteralValueFing
|
|||||||
returnType = "Landroid/widget/ImageView;",
|
returnType = "Landroid/widget/ImageView;",
|
||||||
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
|
||||||
parameters = emptyList(),
|
parameters = emptyList(),
|
||||||
literalSupplier = { EmojiPickerIcon }
|
literalSupplier = { EmojiPickerIcon },
|
||||||
)
|
)
|
@ -13,5 +13,5 @@ internal object CrowdfundingBoxFingerprint : LiteralValueFingerprint(
|
|||||||
Opcode.MOVE_RESULT_OBJECT,
|
Opcode.MOVE_RESULT_OBJECT,
|
||||||
Opcode.IPUT_OBJECT
|
Opcode.IPUT_OBJECT
|
||||||
),
|
),
|
||||||
literalSupplier = { DonationCompanion }
|
literalSupplier = { DonationCompanion },
|
||||||
)
|
)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user