Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Merge branch dev to main #3358

Merged
merged 31 commits into from
Dec 12, 2023
Merged
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
25ebf61
build: Bump dependencies
oSumAtrIX Dec 2, 2023
ca42fd9
feat(Infinity for Reddit - Spoof client): Support latest version
oSumAtrIX Dec 2, 2023
840b29e
feat(Infinity for Reddit): Add `Unlock subscription` patch
oSumAtrIX Dec 2, 2023
c003f40
refactor: Simplify `AbstractSpoofClientPatch` class
oSumAtrIX Dec 2, 2023
1f1cae1
chore(release): 2.203.0-dev.1 [skip ci]
semantic-release-bot Dec 2, 2023
4b878ee
feat: Publish as a library (#3356)
oSumAtrIX Dec 2, 2023
4fc9845
chore(release): 2.203.0-dev.2 [skip ci]
semantic-release-bot Dec 2, 2023
161261c
feat: Allow choosing the vendor of GmsCore via patch options (#3347)
oSumAtrIX Dec 2, 2023
7d4d1bd
chore(release): 3.0.0-dev.1 [skip ci]
semantic-release-bot Dec 2, 2023
f2b9df4
feat(YouTube): Clarify patch descriptions (#3350)
KobeW50 Dec 2, 2023
593e261
chore(release): 3.0.0-dev.2 [skip ci]
semantic-release-bot Dec 2, 2023
e024409
fix(YouTube - Return YouTube Dislike): Prevent the first Short opened…
LisoUseInAIKyrios Dec 4, 2023
395228f
chore(release): 3.0.0-dev.3 [skip ci]
semantic-release-bot Dec 4, 2023
84607ff
fix(YouTube - Minimized playback): Fix PIP incorrectly shown for some…
LisoUseInAIKyrios Dec 4, 2023
c992b74
chore(release): 3.0.0-dev.4 [skip ci]
semantic-release-bot Dec 4, 2023
f9a5dc6
feat(Photomath): Constrain patches to last working version
oSumAtrIX Dec 4, 2023
1d5f1f8
fix: Use correct class loader to load resources
oSumAtrIX Dec 4, 2023
34e4489
chore(release): 3.0.0-dev.5 [skip ci]
semantic-release-bot Dec 4, 2023
062310d
feat(Twitch - Settings): Support version `16.1.0` and `15.4.1` (#3377)
LizenzFass78851 Dec 5, 2023
f076054
chore(release): 3.0.0-dev.6 [skip ci]
semantic-release-bot Dec 5, 2023
3db6615
feat(Twitter - Dynamic Color): Remove blue icon and update app name (…
Advyt3 Dec 7, 2023
314f843
chore(release): 3.0.0-dev.7 [skip ci]
semantic-release-bot Dec 7, 2023
41217f6
feat(YouTube - Alternative Thumbnails): Add option to use DeArrow (#3…
shadow578 Dec 11, 2023
c4c6e05
chore(release): 3.0.0-dev.8 [skip ci]
semantic-release-bot Dec 11, 2023
b288e45
build: Simplify enabling local build cache
oSumAtrIX Dec 10, 2023
dab8900
fix(YouTube - GmsCore support): Check for availability earlier to pre…
oSumAtrIX Dec 11, 2023
8133f3c
chore(release): 3.0.0-dev.9 [skip ci]
semantic-release-bot Dec 11, 2023
ad9ba37
feat(YouTube): Add `Change start page` patch
oSumAtrIX Dec 11, 2023
b7e53fb
chore(release): 3.0.0-dev.10 [skip ci]
semantic-release-bot Dec 11, 2023
96cdc10
feat(Tiktok): Bump compatibility to `32.5.3` (#3389)
d4rkk3y Dec 12, 2023
3d66cbf
chore(release): 3.0.0-dev.11 [skip ci]
semantic-release-bot Dec 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: Allow choosing the vendor of GmsCore via patch options (#3347)
BREAKING CHANGE: Various APIs have been moved to `GmsCoreSupportAbstractPatch`
  • Loading branch information
oSumAtrIX authored Dec 2, 2023
commit 161261cfeab4616764d20efe46fcfd483299741c
60 changes: 38 additions & 22 deletions api/revanced-patches.api
Original file line number Diff line number Diff line change
@@ -309,20 +309,16 @@ public final class app/revanced/patches/music/misc/androidauto/BypassCertificate
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
}

public final class app/revanced/patches/music/misc/microg/MicroGBytecodePatch : app/revanced/patcher/patch/BytecodePatch {
public static final field INSTANCE Lapp/revanced/patches/music/misc/microg/MicroGBytecodePatch;
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
public final class app/revanced/patches/music/misc/gms/Constants {
public static final field INSTANCE Lapp/revanced/patches/music/misc/gms/Constants;
}

public final class app/revanced/patches/music/misc/microg/MicroGResourcePatch : app/revanced/patcher/patch/ResourcePatch {
public static final field INSTANCE Lapp/revanced/patches/music/misc/microg/MicroGResourcePatch;
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V
public final class app/revanced/patches/music/misc/gms/GmsCoreSupportPatch : app/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportPatch {
public static final field INSTANCE Lapp/revanced/patches/music/misc/gms/GmsCoreSupportPatch;
}

public final class app/revanced/patches/music/misc/microg/shared/Constants {
public static final field INSTANCE Lapp/revanced/patches/music/misc/microg/shared/Constants;
public final class app/revanced/patches/music/misc/gms/GmsCoreSupportResourcePatch : app/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportResourcePatch {
public static final field INSTANCE Lapp/revanced/patches/music/misc/gms/GmsCoreSupportResourcePatch;
}

public final class app/revanced/patches/music/premium/backgroundplay/BackgroundPlayPatch : app/revanced/patcher/patch/BytecodePatch {
@@ -573,6 +569,26 @@ public final class app/revanced/patches/shared/misc/fix/verticalscroll/VerticalS
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
}

public abstract class app/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportPatch : app/revanced/patcher/patch/BytecodePatch {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/fingerprint/MethodFingerprint;Ljava/util/Set;Lapp/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportResourcePatch;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Lapp/revanced/patcher/fingerprint/MethodFingerprint;Ljava/util/Set;Lapp/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportResourcePatch;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
}

public abstract class app/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportResourcePatch : app/revanced/patcher/patch/ResourcePatch {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V
protected final fun getGmsCoreVendor ()Ljava/lang/String;
}

public final class app/revanced/patches/shared/misc/gms/fingerprints/GmsCoreSupportFingerprint : app/revanced/patcher/fingerprint/MethodFingerprint {
public static final field GET_GMS_CORE_VENDOR_METHOD_NAME Ljava/lang/String;
public static final field INSTANCE Lapp/revanced/patches/shared/misc/gms/fingerprints/GmsCoreSupportFingerprint;
}

public abstract class app/revanced/patches/shared/settings/AbstractSettingsResourcePatch : app/revanced/patcher/patch/ResourcePatch, java/io/Closeable {
public fun <init> (Ljava/lang/String;Ljava/lang/String;)V
public fun close ()V
@@ -1394,6 +1410,18 @@ public final class app/revanced/patches/youtube/misc/fix/playback/SpoofSignature
public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V
}

public final class app/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch : app/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportPatch {
public static final field INSTANCE Lapp/revanced/patches/youtube/misc/gms/GmsCoreSupportPatch;
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
}

public final class app/revanced/patches/youtube/misc/gms/GmsCoreSupportResourcePatch : app/revanced/patches/shared/misc/gms/AbstractGmsCoreSupportResourcePatch {
public static final field INSTANCE Lapp/revanced/patches/youtube/misc/gms/GmsCoreSupportResourcePatch;
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V
}

public final class app/revanced/patches/youtube/misc/integrations/IntegrationsPatch : app/revanced/patches/shared/integrations/AbstractIntegrationsPatch {
public static final field INSTANCE Lapp/revanced/patches/youtube/misc/integrations/IntegrationsPatch;
}
@@ -1421,18 +1449,6 @@ public final class app/revanced/patches/youtube/misc/litho/filter/LithoFilterPat
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
}

public final class app/revanced/patches/youtube/misc/microg/MicroGBytecodePatch : app/revanced/patcher/patch/BytecodePatch {
public static final field INSTANCE Lapp/revanced/patches/youtube/misc/microg/MicroGBytecodePatch;
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
}

public final class app/revanced/patches/youtube/misc/microg/MicroGResourcePatch : app/revanced/patcher/patch/ResourcePatch {
public static final field INSTANCE Lapp/revanced/patches/youtube/misc/microg/MicroGResourcePatch;
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V
public fun execute (Lapp/revanced/patcher/data/ResourceContext;)V
}

public final class app/revanced/patches/youtube/misc/minimizedplayback/MinimizedPlaybackPatch : app/revanced/patcher/patch/BytecodePatch {
public static final field INSTANCE Lapp/revanced/patches/youtube/misc/minimizedplayback/MinimizedPlaybackPatch;
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package app.revanced.patches.music.misc.gms

object Constants {
internal const val REVANCED_MUSIC_PACKAGE_NAME = "app.revanced.android.apps.youtube.music"
internal const val MUSIC_PACKAGE_NAME = "com.google.android.apps.youtube.music"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package app.revanced.patches.music.misc.gms

import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME
import app.revanced.patches.music.misc.gms.Constants.REVANCED_MUSIC_PACKAGE_NAME
import app.revanced.patches.music.misc.gms.GmsCoreSupportResourcePatch.gmsCoreVendorOption
import app.revanced.patches.music.misc.gms.fingerprints.*
import app.revanced.patches.shared.misc.gms.AbstractGmsCoreSupportPatch
import app.revanced.patches.youtube.misc.gms.fingerprints.CastContextFetchFingerprint

@Suppress("unused")
object GmsCoreSupportPatch : AbstractGmsCoreSupportPatch(
fromPackageName = REVANCED_MUSIC_PACKAGE_NAME,
toPackageName = MUSIC_PACKAGE_NAME,
primeMethodFingerprint = PrimeMethodFingerprint,
earlyReturnFingerprints = setOf(
ServiceCheckFingerprint,
GooglePlayUtilityFingerprint,
CastDynamiteModuleFingerprint,
CastDynamiteModuleV2Fingerprint,
CastContextFetchFingerprint,
),
abstractGmsCoreSupportResourcePatch = GmsCoreSupportResourcePatch,
compatiblePackages = setOf(CompatiblePackage("com.google.android.apps.youtube.music")),
fingerprints = setOf(
ServiceCheckFingerprint,
GooglePlayUtilityFingerprint,
CastDynamiteModuleFingerprint,
CastDynamiteModuleV2Fingerprint,
CastContextFetchFingerprint,
PrimeMethodFingerprint,
)
) {
override val gmsCoreVendor by gmsCoreVendorOption
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package app.revanced.patches.music.misc.gms

import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME
import app.revanced.patches.music.misc.gms.Constants.REVANCED_MUSIC_PACKAGE_NAME
import app.revanced.patches.shared.misc.gms.AbstractGmsCoreSupportResourcePatch

object GmsCoreSupportResourcePatch : AbstractGmsCoreSupportResourcePatch(
fromPackageName = MUSIC_PACKAGE_NAME,
toPackageName = REVANCED_MUSIC_PACKAGE_NAME,
spoofedPackageSignature = "afb0fed5eeaebdd86f56a97742f4b6b33ef59875"
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package app.revanced.patches.music.misc.microg.fingerprints
package app.revanced.patches.music.misc.gms.fingerprints


import app.revanced.patcher.fingerprint.MethodFingerprint
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package app.revanced.patches.music.misc.microg.fingerprints
package app.revanced.patches.music.misc.gms.fingerprints


import app.revanced.patcher.fingerprint.MethodFingerprint
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package app.revanced.patches.music.misc.microg.fingerprints
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal object GooglePlayUtilityFingerprint : MethodFingerprint(
"I",
AccessFlags.PUBLIC or AccessFlags.STATIC,
listOf("L", "I"),
strings = listOf(
"This should never happen.",
"MetadataValueReader",
"GooglePlayServicesUtil",
"com.android.vending",
"android.hardware.type.embedded"
)
package app.revanced.patches.music.misc.gms.fingerprints

import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags

internal object GooglePlayUtilityFingerprint : MethodFingerprint(
"I",
AccessFlags.PUBLIC or AccessFlags.STATIC,
listOf("L", "I"),
strings = listOf(
"This should never happen.",
"MetadataValueReader",
"GooglePlayServicesUtil",
"com.android.vending",
"android.hardware.type.embedded"
)
)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package app.revanced.patches.youtube.misc.microg.fingerprints
package app.revanced.patches.music.misc.gms.fingerprints


import app.revanced.patcher.fingerprint.MethodFingerprint

internal object PrimeFingerprint : MethodFingerprint(
internal object PrimeMethodFingerprint : MethodFingerprint(
strings = listOf("com.google.android.GoogleCamera", "com.android.vending")
)
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package app.revanced.patches.music.misc.microg.fingerprints

import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.annotation.FuzzyPatternScanMethod
import app.revanced.patcher.fingerprint.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags


@FuzzyPatternScanMethod(2) // FIXME: Test this threshold and find the best value.
internal object ServiceCheckFingerprint : MethodFingerprint(
"V",
AccessFlags.PUBLIC or AccessFlags.STATIC,
listOf("L", "I"),
strings = listOf("Google Play Services not available")
)
package app.revanced.patches.music.misc.gms.fingerprints

import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.annotation.FuzzyPatternScanMethod
import app.revanced.patcher.fingerprint.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags


internal object ServiceCheckFingerprint : MethodFingerprint(
"V",
AccessFlags.PUBLIC or AccessFlags.STATIC,
listOf("L", "I"),
strings = listOf("Google Play Services not available")
)

This file was deleted.

This file was deleted.

This file was deleted.

Loading