Skip to content

chore: Merge branch dev to main #4699

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

Merged
merged 48 commits into from
Apr 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
bb30807
refactor: Add helper method to find a free register for a specific in…
LisoUseInAIKyrios Mar 30, 2025
8503013
chore: Sync translations (#4703)
github-actions[bot] Mar 31, 2025
2ed675c
fix(YouTube - Remove background playback restrictions): Do not show m…
LisoUseInAIKyrios Mar 31, 2025
d6cc665
chore: Release v5.18.1-dev.1 [skip ci]
semantic-release-bot Mar 31, 2025
4a897fd
refactor: Add more opcodes to findFreeRegister
LisoUseInAIKyrios Apr 1, 2025
899c2fe
chore: Sync translations (#4713)
github-actions[bot] Apr 1, 2025
503b7eb
fix(YouTube): Combine multiple seekbar patches into a single patch (#…
LisoUseInAIKyrios Apr 1, 2025
e208315
chore: Release v5.18.1-dev.2 [skip ci]
semantic-release-bot Apr 1, 2025
87c86b5
feat(Angulus): Add `Hide ads` patch (#4604)
dtricks Apr 1, 2025
8e16483
feat(Photomath): Support latest version (#4672)
drobotk Apr 1, 2025
ff846b0
fix(Twitter - Hide recommended users): Make hiding work again by filt…
trogper Apr 1, 2025
4d02f6c
chore: Release v5.19.0-dev.1 [skip ci]
semantic-release-bot Apr 1, 2025
d0c85f0
feat(YouTube - Settings): Add icons to the ReVanced settings (#4496)
MarcaDian Apr 2, 2025
ef19161
chore: Release v5.19.0-dev.2 [skip ci]
semantic-release-bot Apr 2, 2025
34c14c9
feat(Proton Mail): Add `Remove 'Sent from' signature` patch (#4514)
AoifeMcCull Apr 2, 2025
9f0efab
chore: Release v5.19.0-dev.3 [skip ci]
semantic-release-bot Apr 2, 2025
ddc6e4c
fix(YouTube - Seekbar): Correctly hide the feed seekbar with target 2…
LisoUseInAIKyrios Apr 2, 2025
3c316fa
chore: Release v5.19.0-dev.4 [skip ci]
semantic-release-bot Apr 2, 2025
d7a7a0b
fix(Spotify - Custom theme): Override more color resources (#4690)
Nuckyz Apr 2, 2025
eaee621
chore: Release v5.19.0-dev.5 [skip ci]
semantic-release-bot Apr 2, 2025
0b9a5e7
fix(Spotify): Remove ads sections from home (#4722)
Nuckyz Apr 4, 2025
4ecd7e0
chore: Release v5.19.0-dev.6 [skip ci]
semantic-release-bot Apr 4, 2025
0bb3e32
fix(YouTube - Return YouTube Dislike): Correctly update label after d…
LisoUseInAIKyrios Apr 7, 2025
d1ed583
chore: Release v5.19.0-dev.7 [skip ci]
semantic-release-bot Apr 7, 2025
935226f
chore: Sync translations (#4753)
github-actions[bot] Apr 9, 2025
ea92a2e
fix(YouTube - Return YouTube Dislike): Fix inconsistent label after d…
LisoUseInAIKyrios Apr 9, 2025
7d86856
chore: Release v5.19.0-dev.8 [skip ci]
semantic-release-bot Apr 9, 2025
b67bbb2
fix(YouTube - Hide player flyout menu items): Show more detailed summ…
LisoUseInAIKyrios Apr 10, 2025
8e91507
chore: Release v5.19.0-dev.9 [skip ci]
semantic-release-bot Apr 10, 2025
3864f35
fix(YouTube - Hide layout components): Do not hide video description …
LisoUseInAIKyrios Apr 10, 2025
ebc5ebc
chore: Release v5.19.0-dev.10 [skip ci]
semantic-release-bot Apr 10, 2025
e3fad97
feat(Messenger): Add `Remove Meta AI tab` patch (#4726)
drobotk Apr 10, 2025
b6e568f
chore: Release v5.19.0-dev.11 [skip ci]
semantic-release-bot Apr 10, 2025
fe1f3ed
chore(YouTube): Remove obsolete targets overlooked in last version bump
LisoUseInAIKyrios Apr 11, 2025
649a2c0
feat(Strava - Disable subscription suggestions): Make compatible with…
user5095 Apr 11, 2025
b91285e
chore: Release v5.19.0-dev.12 [skip ci]
semantic-release-bot Apr 11, 2025
a3fde87
feat(Spotify): Add limited support for version `8.6.98.900` (last ver…
LisoUseInAIKyrios Apr 11, 2025
e5ffd2c
chore: Release v5.19.0-dev.13 [skip ci]
semantic-release-bot Apr 11, 2025
106202f
fix(Spotify - Unlock Spotify Premium): Remove restrictions for Google…
Brosssh Apr 11, 2025
e8e5a67
chore: Release v5.19.0-dev.14 [skip ci]
semantic-release-bot Apr 11, 2025
9387aae
chore: Sync translations (#4763)
github-actions[bot] Apr 11, 2025
152bb7c
fix(Google Photos - Restore hidden 'Back up while charging' toggle): …
LisoUseInAIKyrios Apr 11, 2025
67fe151
chore: Release v5.19.0-dev.15 [skip ci]
semantic-release-bot Apr 11, 2025
56e48f4
fix(Google Photos): Remove obsolete non functional patch `Restore hid…
LisoUseInAIKyrios Apr 11, 2025
d42320d
chore: Release v5.19.0-dev.16 [skip ci]
semantic-release-bot Apr 11, 2025
6d7101c
feat(Spotify): Add `Check environment` patch (#4765)
oSumAtrIX Apr 12, 2025
a22ba8e
chore: Release v5.19.0-dev.17 [skip ci]
semantic-release-bot Apr 12, 2025
48358ff
chore: Sync translations (#4766)
github-actions[bot] Apr 12, 2025
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
139 changes: 139 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,142 @@
# [5.19.0-dev.17](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.16...v5.19.0-dev.17) (2025-04-12)


### Features

* **Spotify:** Add `Check environment` patch ([#4765](https://github.com/ReVanced/revanced-patches/issues/4765)) ([6d7101c](https://github.com/ReVanced/revanced-patches/commit/6d7101cb2e546e01a934eff9cad1264367aeafe3))

# [5.19.0-dev.16](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.15...v5.19.0-dev.16) (2025-04-11)


### Bug Fixes

* **Google Photos:** Remove obsolete non functional patch `Restore hidden 'Back up while charging' toggle` ([#4764](https://github.com/ReVanced/revanced-patches/issues/4764)) ([56e48f4](https://github.com/ReVanced/revanced-patches/commit/56e48f4c89da51f81ff11a79a164eaa5b440690e))

# [5.19.0-dev.15](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.14...v5.19.0-dev.15) (2025-04-11)


### Bug Fixes

* **Google Photos - Restore hidden 'Back up while charging' toggle:** Constrain to last working app target ([#4761](https://github.com/ReVanced/revanced-patches/issues/4761)) ([152bb7c](https://github.com/ReVanced/revanced-patches/commit/152bb7c3ee7cf36bc07460e7a3444631ec540441))

# [5.19.0-dev.14](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.13...v5.19.0-dev.14) (2025-04-11)


### Bug Fixes

* **Spotify - Unlock Spotify Premium:** Remove restrictions for Google voice assistant ([#4702](https://github.com/ReVanced/revanced-patches/issues/4702)) ([106202f](https://github.com/ReVanced/revanced-patches/commit/106202f9ebb7699c4ba4ae46b82133e35f1ac6b9))

# [5.19.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.12...v5.19.0-dev.13) (2025-04-11)


### Features

* **Spotify:** Add limited support for version `8.6.98.900` (last version that supports Kenwood and Pioneer car stereos) ([#4750](https://github.com/ReVanced/revanced-patches/issues/4750)) ([a3fde87](https://github.com/ReVanced/revanced-patches/commit/a3fde874af993125ba7a741820e7bd48e3641b84))

# [5.19.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.11...v5.19.0-dev.12) (2025-04-11)


### Features

* **Strava - Disable subscription suggestions:** Make compatible with latest version ([#4739](https://github.com/ReVanced/revanced-patches/issues/4739)) ([649a2c0](https://github.com/ReVanced/revanced-patches/commit/649a2c06161c72a2040b179dbed5b415847d7527))

# [5.19.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.10...v5.19.0-dev.11) (2025-04-10)


### Features

* **Messenger:** Add `Remove Meta AI tab` patch ([#4726](https://github.com/ReVanced/revanced-patches/issues/4726)) ([e3fad97](https://github.com/ReVanced/revanced-patches/commit/e3fad97484d7eb962aeb53d44a0047b34a881071))

# [5.19.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.9...v5.19.0-dev.10) (2025-04-10)


### Bug Fixes

* **YouTube - Hide layout components:** Do not hide video description music/game links if hide horizontal shelves is enabled ([3864f35](https://github.com/ReVanced/revanced-patches/commit/3864f3550153617e23ad9979fb543d8a7fb4dc0a))

# [5.19.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.8...v5.19.0-dev.9) (2025-04-10)


### Bug Fixes

* **YouTube - Hide player flyout menu items:** Show more detailed summary text for 'Hide Audio track' if using Android spoof client ([#4756](https://github.com/ReVanced/revanced-patches/issues/4756)) ([b67bbb2](https://github.com/ReVanced/revanced-patches/commit/b67bbb299669336addb68cf52a8ce5b39c68cec0))

# [5.19.0-dev.8](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.7...v5.19.0-dev.8) (2025-04-09)


### Bug Fixes

* **YouTube - Return YouTube Dislike:** Fix inconsistent label after disliking a Short ([ea92a2e](https://github.com/ReVanced/revanced-patches/commit/ea92a2e36c7aab3bd115f7d0ec40467179485b32))

# [5.19.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.6...v5.19.0-dev.7) (2025-04-07)


### Bug Fixes

* **YouTube - Return YouTube Dislike:** Correctly update label after disliking a Short with 20.07 ([0bb3e32](https://github.com/ReVanced/revanced-patches/commit/0bb3e32244fa10809aee5c4e549f77ed4054537e))

# [5.19.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.5...v5.19.0-dev.6) (2025-04-04)


### Bug Fixes

* **Spotify:** Remove ads sections from home ([#4722](https://github.com/ReVanced/revanced-patches/issues/4722)) ([0b9a5e7](https://github.com/ReVanced/revanced-patches/commit/0b9a5e7f89a89d971762b3539166d4f145111481))

# [5.19.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.4...v5.19.0-dev.5) (2025-04-02)


### Bug Fixes

* **Spotify - Custom theme:** Override more color resources ([#4690](https://github.com/ReVanced/revanced-patches/issues/4690)) ([d7a7a0b](https://github.com/ReVanced/revanced-patches/commit/d7a7a0b982dbafa181b04f984a5f7618fb067c2a))

# [5.19.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.3...v5.19.0-dev.4) (2025-04-02)


### Bug Fixes

* **YouTube - Seekbar:** Correctly hide the feed seekbar with target 20.07 ([ddc6e4c](https://github.com/ReVanced/revanced-patches/commit/ddc6e4c34fe35fa34bd859bf34e25645a23dbdc9))

# [5.19.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.2...v5.19.0-dev.3) (2025-04-02)


### Features

* **Proton Mail:** Add `Remove 'Sent from' signature` patch ([#4514](https://github.com/ReVanced/revanced-patches/issues/4514)) ([34c14c9](https://github.com/ReVanced/revanced-patches/commit/34c14c9b443092824d035afd77adb678c6f89e3e))

# [5.19.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.19.0-dev.1...v5.19.0-dev.2) (2025-04-02)


### Features

* **YouTube - Settings:** Add icons to the ReVanced settings ([#4496](https://github.com/ReVanced/revanced-patches/issues/4496)) ([d0c85f0](https://github.com/ReVanced/revanced-patches/commit/d0c85f044083d720c63a8ea4ff15d42eefeb9db7))

# [5.19.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.18.1-dev.2...v5.19.0-dev.1) (2025-04-01)


### Bug Fixes

* **Twitter - Hide recommended users:** Make hiding work again by filtering for new entryId prefix ([#4456](https://github.com/ReVanced/revanced-patches/issues/4456)) ([ff846b0](https://github.com/ReVanced/revanced-patches/commit/ff846b0b7ef5060caaffedb08c1f901172f5b2d1))


### Features

* **Angulus:** Add `Hide ads` patch ([#4604](https://github.com/ReVanced/revanced-patches/issues/4604)) ([87c86b5](https://github.com/ReVanced/revanced-patches/commit/87c86b53a91b0054ac892a3f02bbe7bf83bbf813))
* **Photomath:** Support latest version ([#4672](https://github.com/ReVanced/revanced-patches/issues/4672)) ([8e16483](https://github.com/ReVanced/revanced-patches/commit/8e1648322948151e4565fb0d86e0f37d0a02d73f))

## [5.18.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.18.1-dev.1...v5.18.1-dev.2) (2025-04-01)


### Bug Fixes

* **YouTube:** Combine multiple seekbar patches into a single patch ([#4705](https://github.com/ReVanced/revanced-patches/issues/4705)) ([503b7eb](https://github.com/ReVanced/revanced-patches/commit/503b7eb8d413ef7f248394f128f3b2a6f3192ba6))

## [5.18.1-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.18.0...v5.18.1-dev.1) (2025-03-31)


### Bug Fixes

* **YouTube - Remove background playback restrictions:** Do not show media controls when playing Shorts from the feed ([2ed675c](https://github.com/ReVanced/revanced-patches/commit/2ed675cdd058fb5876381a9d30dee5263f6b2e26))

# [5.18.0](https://github.com/ReVanced/revanced-patches/compare/v5.17.0...v5.18.0) (2025-03-28)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Color;
import android.net.ConnectivityManager;
import android.os.Build;
import android.os.Bundle;
Expand Down Expand Up @@ -799,4 +800,14 @@ public static void setEditTextDialogTheme(AlertDialog.Builder builder) {
builder.getContext().setTheme(editTextDialogStyle);
}
}

/**
* Parse a color resource or hex code to an int representation of the color.
*/
public static int getColorFromString(String colorString) throws IllegalArgumentException, Resources.NotFoundException {
if (colorString.startsWith("#")) {
return Color.parseColor(colorString);
}
return getResourceColor(colorString);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ public class BaseSettings {

public static final EnumSetting<AppLanguage> REVANCED_LANGUAGE = new EnumSetting<>("revanced_language", AppLanguage.DEFAULT, true, "revanced_language_user_dialog_message");

/**
* Use the icons declared in the preferences created during patching. If no icons or styles are declared then this setting does nothing.
*/
public static final BooleanSetting SHOW_MENU_ICONS = new BooleanSetting("revanced_show_menu_icons", TRUE, true);

public static final BooleanSetting SPOOF_VIDEO_STREAMS = new BooleanSetting("revanced_spoof_video_streams", TRUE, true, "revanced_spoof_video_streams_user_dialog_message");
public static final EnumSetting<AppLanguage> SPOOF_VIDEO_STREAMS_LANGUAGE = new EnumSetting<>("revanced_spoof_video_streams_language", AppLanguage.DEFAULT, new AudioStreamLanguageOverrideAvailability());
public static final BooleanSetting SPOOF_STREAMING_DATA_STATS_FOR_NERDS = new BooleanSetting("revanced_spoof_streaming_data_stats_for_nerds", TRUE, parent(SPOOF_VIDEO_STREAMS));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
}
};


/**
* Initialize this instance, and do any custom behavior.
* <p>
Expand All @@ -95,7 +94,10 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment {
* so all app specific {@link Setting} instances are loaded before this method returns.
*/
protected void initialize() {
final var identifier = Utils.getResourceIdentifier("revanced_prefs", "xml");
String preferenceResourceName = BaseSettings.SHOW_MENU_ICONS.get()
? "revanced_prefs_icons"
: "revanced_prefs";
final var identifier = Utils.getResourceIdentifier(preferenceResourceName, "xml");
if (identifier == 0) return;
addPreferencesFromResource(identifier);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package app.revanced.extension.spotify.layout.theme;

import android.graphics.Color;

import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;

@SuppressWarnings("unused")
public final class CustomThemePatch {

/**
* Injection point.
*/
public static long getThemeColor(String colorString) {
try {
return Utils.getColorFromString(colorString);
} catch (Exception ex) {
Logger.printException(() -> "Invalid custom color: " + colorString, ex);
return Color.BLACK;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;

import com.spotify.remoteconfig.internal.AccountAttribute;
import com.spotify.home.evopage.homeapi.proto.Section;

import java.util.List;
import java.util.Map;
Expand All @@ -14,6 +14,25 @@
@SuppressWarnings("unused")
public final class UnlockPremiumPatch {

private static final String SPOTIFY_MAIN_ACTIVITY_LEGACY = "com.spotify.music.MainActivity";

/**
* If the app target is 8.6.98.900.
*/
private static final boolean IS_SPOTIFY_LEGACY_APP_TARGET;

static {
boolean legacy;
try {
Class.forName(SPOTIFY_MAIN_ACTIVITY_LEGACY);
legacy = true;
} catch (ClassNotFoundException ex) {
legacy = false;
}

IS_SPOTIFY_LEGACY_APP_TARGET = legacy;
}

private static class OverrideAttribute {
/**
* Account attribute key.
Expand Down Expand Up @@ -54,8 +73,8 @@ private static class OverrideAttribute {
// Make sure playing songs is not disabled remotely and playlists show up.
new OverrideAttribute("streaming", TRUE),
// Allows adding songs to queue and removes the smart shuffle mode restriction,
// allowing to pick any of the other modes.
new OverrideAttribute("pick-and-shuffle", FALSE),
// allowing to pick any of the other modes. Flag is not present in legacy app target.
new OverrideAttribute("pick-and-shuffle", FALSE, !IS_SPOTIFY_LEGACY_APP_TARGET),
// Disables shuffle-mode streaming-rule, which forces songs to be played shuffled
// and breaks the player when other patches are applied.
new OverrideAttribute("streaming-rules", ""),
Expand All @@ -69,23 +88,51 @@ private static class OverrideAttribute {
new OverrideAttribute("tablet-free", FALSE, false)
);

private static final List<Integer> REMOVED_HOME_SECTIONS = List.of(
Section.VIDEO_BRAND_AD_FIELD_NUMBER,
Section.IMAGE_BRAND_AD_FIELD_NUMBER
);

/**
* Injection point.
* Injection point. Override account attributes.
*/
public static void overrideAttribute(Map<String, AccountAttribute> attributes) {
public static void overrideAttribute(Map<String, /*AccountAttribute*/ Object> attributes) {
try {
for (var override : OVERRIDES) {
var attribute = attributes.get(override.key);
if (attribute == null) {
if (override.isExpected) {
Logger.printException(() -> "''" + override.key + "' expected but not found");
Logger.printException(() -> "'" + override.key + "' expected but not found");
}
} else {
attribute.value_ = override.overrideValue;
Object overrideValue = override.overrideValue;
if (IS_SPOTIFY_LEGACY_APP_TARGET) {
((com.spotify.useraccount.v1.AccountAttribute) attribute).value_ = overrideValue;
} else {
((com.spotify.remoteconfig.internal.AccountAttribute) attribute).value_ = overrideValue;
}
}
}
} catch (Exception ex) {
Logger.printException(() -> "overrideAttribute failure", ex);
}
}

/**
* Injection point. Remove station data from Google assistant URI.
*/
public static String removeStationString(String spotifyUriOrUrl) {
return spotifyUriOrUrl.replace("spotify:station:", "spotify:");
}

/**
* Injection point. Remove ads sections from home.
*/
public static void removeHomeSections(List<Section> sections) {
try {
sections.removeIf(section -> REMOVED_HOME_SECTIONS.contains(section.featureTypeCase_));
} catch (Exception ex) {
Logger.printException(() -> "Remove home sections failure", ex);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.spotify.home.evopage.homeapi.proto;

public final class Section {
public static final int VIDEO_BRAND_AD_FIELD_NUMBER = 20;
public static final int IMAGE_BRAND_AD_FIELD_NUMBER = 21;
public int featureTypeCase_;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.spotify.useraccount.v1;

/**
* Used for target 8.6.98.900. Class is still present in newer app targets.
*/
public class AccountAttribute {
public Object value_;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import app.revanced.extension.tiktok.settings.preference.categories.FeedFilterPreferenceCategory;
import app.revanced.extension.tiktok.settings.preference.categories.ExtensionPreferenceCategory;
import app.revanced.extension.tiktok.settings.preference.categories.SimSpoofPreferenceCategory;
import org.jetbrains.annotations.NotNull;

/**
* Preference fragment for ReVanced settings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ internal object TwiFucker {

private fun JSONObject.entryIsWhoToFollow(): Boolean =
optString("entryId").let {
it.startsWith("whoToFollow-") || it.startsWith("who-to-follow-") || it.startsWith("connect-module-")
it.startsWith("whoToFollow-") || it.startsWith("who-to-follow-") || it.startsWith("connect-module-") || it.startsWith("who-to-subscribe-")
}

private fun JSONObject.itemContainsPromotedUser(): Boolean =
Expand Down
Loading