diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt
index 17f0f53d5..4dcb61c31 100644
--- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt
+++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/client/AppClient.kt
@@ -30,6 +30,7 @@ object AppClient {
private const val DEVICE_MAKE_IOS = "Apple"
private const val OS_NAME_IOS = "iOS"
+
/**
* The device machine id for the iPhone 15 Pro Max (iPhone16,2),
* used to get HDR with AV1 hardware decoding.
@@ -240,7 +241,6 @@ object AppClient {
val userAgent: String,
/**
* Android SDK version, equivalent to [Build.VERSION.SDK] (System property: ro.build.version.sdk)
- * Field is null if not applicable.
*/
val androidSdkVersion: String = Build.VERSION.SDK,
/**
diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java
index a94f79810..6bf264184 100644
--- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java
+++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/SpoofStreamingDataPatch.java
@@ -141,8 +141,9 @@ public class SpoofStreamingDataPatch {
* 1. Save the requestHeader in a field.
* 2. Invoke fetchRequest with the videoId used in PlaybackStartDescriptor.
*
- * @param requestHeaders Save the request Headers used for login to a field.
- * Only used in YouTube Music where login is required.
+ *
+ * @param requestHeaders Save the request Headers used for login to a field.
+ * Only used in YouTube Music where login is required.
*/
private static void setRequestHeaders(Map requestHeaders) {
if (SPOOF_STREAMING_DATA_MUSIC) {
diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt
index 61fe440cb..fca54e4f2 100644
--- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt
+++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/PlayerRoutes.kt
@@ -130,17 +130,35 @@ object PlayerRoutes {
}
@JvmStatic
- fun getPlayerResponseConnectionFromRoute(route: CompiledRoute, clientType: AppClient.ClientType): HttpURLConnection {
- return getPlayerResponseConnectionFromRoute(route, clientType.userAgent, clientType.id.toString())
+ fun getPlayerResponseConnectionFromRoute(
+ route: CompiledRoute,
+ clientType: AppClient.ClientType
+ ): HttpURLConnection {
+ return getPlayerResponseConnectionFromRoute(
+ route,
+ clientType.userAgent,
+ clientType.id.toString()
+ )
}
@JvmStatic
- fun getPlayerResponseConnectionFromRoute(route: CompiledRoute, clientType: WebClient.ClientType): HttpURLConnection {
- return getPlayerResponseConnectionFromRoute(route, clientType.userAgent, clientType.id.toString())
+ fun getPlayerResponseConnectionFromRoute(
+ route: CompiledRoute,
+ clientType: WebClient.ClientType
+ ): HttpURLConnection {
+ return getPlayerResponseConnectionFromRoute(
+ route,
+ clientType.userAgent,
+ clientType.id.toString()
+ )
}
@Throws(IOException::class)
- fun getPlayerResponseConnectionFromRoute(route: CompiledRoute, userAgent: String, clientVersion: String): HttpURLConnection {
+ fun getPlayerResponseConnectionFromRoute(
+ route: CompiledRoute,
+ userAgent: String,
+ clientVersion: String
+ ): HttpURLConnection {
val connection = Requester.getConnectionFromCompiledRoute(YT_API_URL, route)
connection.setRequestProperty("Content-Type", "application/json")
diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt
index 5423e0653..6389ac1ea 100644
--- a/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt
+++ b/extensions/shared/src/main/java/app/revanced/extension/shared/patches/spoof/requests/StreamingDataRequest.kt
@@ -9,7 +9,6 @@ import app.revanced.extension.shared.patches.spoof.requests.PlayerRoutes.getPlay
import app.revanced.extension.shared.settings.BaseSettings
import app.revanced.extension.shared.utils.Logger
import app.revanced.extension.shared.utils.Utils
-import org.apache.commons.lang3.ArrayUtils
import org.apache.commons.lang3.StringUtils
import java.io.BufferedInputStream
import java.io.ByteArrayOutputStream
@@ -111,6 +110,7 @@ class StreamingDataRequest private constructor(
* Any arbitrarily large value, but must be at least twice [.HTTP_TIMEOUT_MILLISECONDS]
*/
private const val MAX_MILLISECONDS_TO_WAIT_FOR_FETCH = 20 * 1000
+
@GuardedBy("itself")
val cache: MutableMap = Collections.synchronizedMap(
object : LinkedHashMap(100) {
@@ -171,11 +171,13 @@ class StreamingDataRequest private constructor(
Logger.printDebug { "Fetching video streams for: $videoId using client: $clientType" }
try {
- val connection = getPlayerResponseConnectionFromRoute(GET_STREAMING_DATA, clientType)
+ val connection =
+ getPlayerResponseConnectionFromRoute(GET_STREAMING_DATA, clientType)
connection.connectTimeout = HTTP_TIMEOUT_MILLISECONDS
connection.readTimeout = HTTP_TIMEOUT_MILLISECONDS
- val usePoToken = clientType.requirePoToken && !StringUtils.isAnyEmpty(botGuardPoToken, visitorId)
+ val usePoToken =
+ clientType.requirePoToken && !StringUtils.isAnyEmpty(botGuardPoToken, visitorId)
for (key in REQUEST_HEADER_KEYS) {
var value = playerHeaders[key]
@@ -248,7 +250,8 @@ class StreamingDataRequest private constructor(
// Retry with different client if empty response body is received.
for (clientType in CLIENT_ORDER_TO_USE) {
if (clientType.requireAuth &&
- playerHeaders[AUTHORIZATION_HEADER] == null) {
+ playerHeaders[AUTHORIZATION_HEADER] == null
+ ) {
Logger.printDebug { "Skipped login-required client (incognito mode or not logged in)\nClient: $clientType\nVideo: $videoId" }
continue
}
@@ -270,7 +273,9 @@ class StreamingDataRequest private constructor(
ByteArrayOutputStream().use { stream ->
val buffer = ByteArray(2048)
var bytesRead: Int
- while ((inputStream.read(buffer).also { bytesRead = it }) >= 0) {
+ while ((inputStream.read(buffer)
+ .also { bytesRead = it }) >= 0
+ ) {
stream.write(buffer, 0, bytesRead)
}
lastSpoofedClientType = clientType
diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java b/extensions/shared/src/main/java/app/revanced/extension/shared/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java
index 0f8623fd7..9cbf96c86 100644
--- a/extensions/shared/src/main/java/app/revanced/extension/shared/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java
+++ b/extensions/shared/src/main/java/app/revanced/extension/shared/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java
@@ -121,21 +121,27 @@ public class ReturnYouTubeDislikeApi {
public static long getFetchCallResponseTimeLast() {
return fetchCallResponseTimeLast;
}
+
public static long getFetchCallResponseTimeMin() {
return fetchCallResponseTimeMin;
}
+
public static long getFetchCallResponseTimeMax() {
return fetchCallResponseTimeMax;
}
+
public static long getFetchCallResponseTimeAverage() {
return fetchCallCount == 0 ? 0 : (fetchCallResponseTimeTotal / fetchCallCount);
}
+
public static int getFetchCallCount() {
return fetchCallCount;
}
+
public static int getFetchCallNumberOfFailures() {
return fetchCallNumberOfFailures;
}
+
public static int getNumberOfRateLimitRequestsEncountered() {
return numberOfRateLimitRequestsEncountered;
}
diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt
index 91711bd7c..8299757fc 100644
--- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt
+++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/video/requests/MusicRequest.kt
@@ -19,7 +19,10 @@ import java.util.concurrent.Future
import java.util.concurrent.TimeUnit
import java.util.concurrent.TimeoutException
-class MusicRequest private constructor(private val videoId: String, private val checkCategory: Boolean) {
+class MusicRequest private constructor(
+ private val videoId: String,
+ private val checkCategory: Boolean
+) {
/**
* Time this instance and the fetch future was created.
*/
@@ -121,7 +124,10 @@ class MusicRequest private constructor(private val videoId: String, private val
Logger.printDebug { "Fetching playlist request for: $videoId using client: $clientTypeName" }
try {
- val connection = PlayerRoutes.getPlayerResponseConnectionFromRoute(PlayerRoutes.GET_PLAYLIST_PAGE, clientType)
+ val connection = PlayerRoutes.getPlayerResponseConnectionFromRoute(
+ PlayerRoutes.GET_PLAYLIST_PAGE,
+ clientType
+ )
val requestBody =
PlayerRoutes.createApplicationRequestBody(clientType, videoId, "RD$videoId")
@@ -158,7 +164,10 @@ class MusicRequest private constructor(private val videoId: String, private val
Logger.printDebug { "Fetching playability request for: $videoId using client: $clientTypeName" }
try {
- val connection = PlayerRoutes.getPlayerResponseConnectionFromRoute(PlayerRoutes.GET_CATEGORY, clientType)
+ val connection = PlayerRoutes.getPlayerResponseConnectionFromRoute(
+ PlayerRoutes.GET_CATEGORY,
+ clientType
+ )
val requestBody =
PlayerRoutes.createWebInnertubeBody(clientType, videoId)
diff --git a/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java b/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java
index f01b05cf2..14d19be64 100644
--- a/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java
+++ b/extensions/shared/src/main/java/com/google/android/apps/youtube/app/settings/videoquality/VideoQualitySettingsActivity.java
@@ -4,7 +4,6 @@ import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.TypedValue;
-import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.SearchView;
diff --git a/patches/src/main/kotlin/app/revanced/generator/JsonPatchesFileGenerator.kt b/patches/src/main/kotlin/app/revanced/generator/JsonPatchesFileGenerator.kt
index 2e916af51..3a7b29342 100644
--- a/patches/src/main/kotlin/app/revanced/generator/JsonPatchesFileGenerator.kt
+++ b/patches/src/main/kotlin/app/revanced/generator/JsonPatchesFileGenerator.kt
@@ -30,7 +30,9 @@ internal class JsonPatchesFileGenerator : PatchesFileGenerator {
},
)
}.let {
- patchesJson.writeText(GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(it))
+ patchesJson.writeText(
+ GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(it)
+ )
}
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/album/AlbumMusicVideoPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/album/AlbumMusicVideoPatch.kt
index e24c51738..f72a914ee 100644
--- a/patches/src/main/kotlin/app/revanced/patches/music/misc/album/AlbumMusicVideoPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/album/AlbumMusicVideoPatch.kt
@@ -75,7 +75,8 @@ val albumMusicVideoPatch = bytecodePatch(
audioVideoSwitchToggleConstructorFingerprint.methodOrThrow().apply {
val onClickListenerIndex = indexOfAudioVideoSwitchSetOnClickListenerInstruction(this)
- val viewRegister = getInstruction(onClickListenerIndex).registerC
+ val viewRegister =
+ getInstruction(onClickListenerIndex).registerC
addInstruction(
onClickListenerIndex + 1,
@@ -83,11 +84,13 @@ val albumMusicVideoPatch = bytecodePatch(
"$EXTENSION_CLASS_DESCRIPTOR->setAudioVideoSwitchToggleOnLongClickListener(Landroid/view/View;)V"
)
- val onClickListenerSyntheticIndex = indexOfFirstInstructionReversedOrThrow(onClickListenerIndex) {
- opcode == Opcode.INVOKE_DIRECT &&
- getReference()?.name == ""
- }
- val onClickListenerSyntheticClass = (getInstruction(onClickListenerSyntheticIndex).reference as MethodReference).definingClass
+ val onClickListenerSyntheticIndex =
+ indexOfFirstInstructionReversedOrThrow(onClickListenerIndex) {
+ opcode == Opcode.INVOKE_DIRECT &&
+ getReference()?.name == ""
+ }
+ val onClickListenerSyntheticClass =
+ (getInstruction(onClickListenerSyntheticIndex).reference as MethodReference).definingClass
findMethodOrThrow(onClickListenerSyntheticClass) {
name == "onClick"
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt
index 8a33d0807..1cff11b8f 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/gms/Fingerprints.kt
@@ -5,11 +5,8 @@ import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstruction
import app.revanced.util.or
import com.android.tools.smali.dexlib2.AccessFlags
-import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.Method
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
-import com.android.tools.smali.dexlib2.iface.reference.StringReference
-import com.android.tools.smali.dexlib2.util.MethodUtil
const val GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME = "getGmsCoreVendorGroupId"
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/materialyou/BaseMaterialYouPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/materialyou/BaseMaterialYouPatch.kt
index d95d24c3c..ca07af5af 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/materialyou/BaseMaterialYouPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/materialyou/BaseMaterialYouPatch.kt
@@ -1,19 +1,8 @@
package app.revanced.patches.shared.materialyou
-import app.revanced.patcher.patch.PatchException
import app.revanced.patcher.patch.ResourcePatchContext
-import app.revanced.util.copyXmlNode
-import app.revanced.util.inputStreamFromBundledResource
import org.w3c.dom.Element
-import org.w3c.dom.Node
-import java.io.File
import java.nio.file.Files
-import java.nio.file.StandardCopyOption
-import javax.xml.parsers.DocumentBuilderFactory
-import javax.xml.transform.OutputKeys
-import javax.xml.transform.TransformerFactory
-import javax.xml.transform.dom.DOMSource
-import javax.xml.transform.stream.StreamResult
private fun ResourcePatchContext.patchXmlFile(
fromDir: String,
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt
index 2f34434c4..6d9012f87 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/BaseSpoofStreamingDataPatch.kt
@@ -116,15 +116,20 @@ fun baseSpoofStreamingDataPatch(
// region Replace the streaming data.
val approxDurationMsReference = formatStreamModelConstructorFingerprint.matchOrThrow().let {
- with (it.method) {
+ with(it.method) {
getInstruction(it.patternMatch!!.startIndex).reference
}
}
- val streamingDataFormatsReference = with(videoStreamingDataConstructorFingerprint.methodOrThrow(videoStreamingDataToStringFingerprint)) {
+ val streamingDataFormatsReference = with(
+ videoStreamingDataConstructorFingerprint.methodOrThrow(
+ videoStreamingDataToStringFingerprint
+ )
+ ) {
val getFormatsFieldIndex = indexOfGetFormatsFieldInstruction(this)
val longMaxValueIndex = indexOfLongMaxValueInstruction(this, getFormatsFieldIndex)
- val longMaxValueRegister = getInstruction(longMaxValueIndex).registerA
+ val longMaxValueRegister =
+ getInstruction(longMaxValueIndex).registerA
val videoIdIndex =
indexOfFirstInstructionOrThrow(longMaxValueIndex) {
val reference = getReference()
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt
index c120b5d4e..265b1c245 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/spoof/streamingdata/Fingerprints.kt
@@ -209,6 +209,10 @@ internal val poTokenToStringFingerprint = legacyFingerprint(
classDef.fields.find { it.type == "[B" } != null &&
// In YouTube, this field's type is 'Lcom/google/android/gms/potokens/PoToken;'.
// In YouTube Music, this class name is obfuscated.
- classDef.fields.find { it.accessFlags == AccessFlags.PRIVATE.value && it.type.startsWith("L") } != null
+ classDef.fields.find {
+ it.accessFlags == AccessFlags.PRIVATE.value && it.type.startsWith(
+ "L"
+ )
+ } != null
},
)
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/general/toolbar/ToolBarComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/general/toolbar/ToolBarComponentsPatch.kt
index 74f762141..46233d174 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/general/toolbar/ToolBarComponentsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/general/toolbar/ToolBarComponentsPatch.kt
@@ -342,10 +342,11 @@ val toolBarComponentsPatch = bytecodePatch(
opcode == Opcode.INVOKE_VIRTUAL &&
getReference()?.toString() == voiceInputControllerActivityMethodCall
}
- val setOnClickListenerIndex = indexOfFirstInstructionOrThrow(voiceInputControllerActivityIndex) {
- opcode == Opcode.INVOKE_VIRTUAL &&
- getReference()?.name == "setOnClickListener"
- }
+ val setOnClickListenerIndex =
+ indexOfFirstInstructionOrThrow(voiceInputControllerActivityIndex) {
+ opcode == Opcode.INVOKE_VIRTUAL &&
+ getReference()?.name == "setOnClickListener"
+ }
val viewRegister =
getInstruction(setOnClickListenerIndex).registerC
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt
index ea6446abd..3c07be84b 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/player/overlaybuttons/OverlayButtonsPatch.kt
@@ -249,7 +249,7 @@ val overlayButtonsPatch = resourcePatch(
)
val isButton = if (is_19_17_or_greater)
- // Note: Do not modify fullscreen button and multiview button
+ // Note: Do not modify fullscreen button and multiview button
id.endsWith("_button") && id != "@id/multiview_button"
else
id.endsWith("_button") || id == "@id/youtube_controls_fullscreen_button_stub"
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt
index ada482215..f3f587372 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/player/seekbar/SeekbarComponentsPatch.kt
@@ -271,7 +271,9 @@ val seekbarComponentsPatch = bytecodePatch(
).forEach { method ->
method.apply {
val literalIndex =
- indexOfFirstLiteralInstructionOrThrow(launchScreenLayoutTypeLotteFeatureFlag)
+ indexOfFirstLiteralInstructionOrThrow(
+ launchScreenLayoutTypeLotteFeatureFlag
+ )
val resultIndex =
indexOfFirstInstructionOrThrow(literalIndex, Opcode.MOVE_RESULT)
val register = getInstruction(resultIndex).registerA
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/MainActivityBaseContextHook.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/MainActivityBaseContextHook.kt
index 7543cc3d8..1f17ed305 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/MainActivityBaseContextHook.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/extension/hooks/MainActivityBaseContextHook.kt
@@ -17,8 +17,9 @@ internal val mainActivityBaseContextHook = extensionHook(
attachBaseContextIndex + 1
},
contextRegisterResolver = { method ->
- val overrideInstruction = method.implementation!!.instructions.elementAt(attachBaseContextIndex)
- as FiveRegisterInstruction
+ val overrideInstruction =
+ method.implementation!!.instructions.elementAt(attachBaseContextIndex)
+ as FiveRegisterInstruction
"v${overrideInstruction.registerD}"
},
) {
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fullscreen/FullscreenButtonHookPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fullscreen/FullscreenButtonHookPatch.kt
index 5cac3b8f6..489b38a11 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fullscreen/FullscreenButtonHookPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/utils/fullscreen/FullscreenButtonHookPatch.kt
@@ -31,18 +31,21 @@ val fullscreenButtonHookPatch = bytecodePatch(
dependsOn(sharedExtensionPatch)
execute {
- val (referenceClass, fullscreenActionClass) = with (nextGenWatchLayoutFullscreenModeFingerprint.methodOrThrow()) {
+ val (referenceClass, fullscreenActionClass) = with(
+ nextGenWatchLayoutFullscreenModeFingerprint.methodOrThrow()
+ ) {
val targetIndex = indexOfFirstInstructionReversedOrThrow {
opcode == Opcode.INVOKE_DIRECT &&
getReference()?.parameterTypes?.size == 2
}
- val targetReference = getInstruction(targetIndex).reference as MethodReference
+ val targetReference =
+ getInstruction(targetIndex).reference as MethodReference
Pair(targetReference.definingClass, targetReference.parameterTypes[1].toString())
}
val (enterFullscreenReference, exitFullscreenReference, opcodeName) =
- with (findMethodOrThrow(referenceClass) { parameters == listOf("I") }) {
+ with(findMethodOrThrow(referenceClass) { parameters == listOf("I") }) {
val enterFullscreenIndex = indexOfFirstInstructionOrThrow {
val reference = getReference()
reference?.returnType == "V" &&
@@ -62,7 +65,8 @@ val fullscreenButtonHookPatch = bytecodePatch(
getInstruction(exitFullscreenIndex).reference
val opcode = getInstruction(enterFullscreenIndex).opcode
- val enterFullscreenClass = (enterFullscreenReference as MethodReference).definingClass
+ val enterFullscreenClass =
+ (enterFullscreenReference as MethodReference).definingClass
enterFullscreenMethod = if (opcode == Opcode.INVOKE_INTERFACE) {
classes.find { classDef -> classDef.interfaces.contains(enterFullscreenClass) }