mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-27 04:31:03 +00:00
Compare commits
8 Commits
v5.33.0-de
...
v5.33.0-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0cfc31c8f7 | ||
|
|
a28891e5f3 | ||
|
|
36036b082d | ||
|
|
1bc63e50a7 | ||
|
|
4b2b5e3029 | ||
|
|
9afa7d2ac6 | ||
|
|
1a8146dbc8 | ||
|
|
178eed7fcd |
28
CHANGELOG.md
28
CHANGELOG.md
@@ -1,3 +1,31 @@
|
|||||||
|
# [5.33.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.12...v5.33.0-dev.13) (2025-08-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **Messenger - Hide Facebook button:** Support the latest app version ([#5590](https://github.com/ReVanced/revanced-patches/issues/5590)) ([0cab98d](https://github.com/ReVanced/revanced-patches/commit/0cab98df1689dbf7a042f18f4a961d47da1430ad))
|
||||||
|
|
||||||
|
# [5.33.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.11...v5.33.0-dev.12) (2025-08-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Video quality:** Fix dialog quality list check mark not always shown ([295f0f2](https://github.com/ReVanced/revanced-patches/commit/295f0f216b5e8aa9d68457862e73e312b7342703))
|
||||||
|
|
||||||
|
# [5.33.0-dev.11](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.10...v5.33.0-dev.11) (2025-08-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Video quality:** Fix 144p default not always used ([2f7483a](https://github.com/ReVanced/revanced-patches/commit/2f7483a2d789c28a243b58bb7a252c0d590858ee))
|
||||||
|
|
||||||
|
# [5.33.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.9...v5.33.0-dev.10) (2025-08-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Video quality:** Fix wrong qualities sometimes shown in player button dialog ([7378ae3](https://github.com/ReVanced/revanced-patches/commit/7378ae3c5fc88f91bf5cd6db47c6cd170a8c5a4f))
|
||||||
|
|
||||||
# [5.33.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.8...v5.33.0-dev.9) (2025-08-04)
|
# [5.33.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.33.0-dev.8...v5.33.0-dev.9) (2025-08-04)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import androidx.annotation.Nullable;
|
|||||||
import com.google.android.libraries.youtube.innertube.model.media.VideoQuality;
|
import com.google.android.libraries.youtube.innertube.model.media.VideoQuality;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import app.revanced.extension.shared.Logger;
|
import app.revanced.extension.shared.Logger;
|
||||||
import app.revanced.extension.shared.Utils;
|
import app.revanced.extension.shared.Utils;
|
||||||
@@ -51,7 +50,7 @@ public class RememberVideoQualityPatch {
|
|||||||
* The available qualities of the current video.
|
* The available qualities of the current video.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
private static List<VideoQuality> currentQualities;
|
private static VideoQuality[] currentQualities;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The current quality of the video playing.
|
* The current quality of the video playing.
|
||||||
@@ -67,7 +66,7 @@ public class RememberVideoQualityPatch {
|
|||||||
private static VideoQualityMenuInterface currentMenuInterface;
|
private static VideoQualityMenuInterface currentMenuInterface;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static List<VideoQuality> getCurrentQualities() {
|
public static VideoQuality[] getCurrentQualities() {
|
||||||
return currentQualities;
|
return currentQualities;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,17 +137,16 @@ public class RememberVideoQualityPatch {
|
|||||||
Utils.verifyOnMainThread();
|
Utils.verifyOnMainThread();
|
||||||
currentMenuInterface = menu;
|
currentMenuInterface = menu;
|
||||||
|
|
||||||
final boolean availableQualitiesChanged = currentQualities == null
|
final boolean availableQualitiesChanged = (currentQualities == null)
|
||||||
|| currentQualities.size() != qualities.length;
|
|| !Arrays.equals(currentQualities, qualities);
|
||||||
if (availableQualitiesChanged) {
|
if (availableQualitiesChanged) {
|
||||||
currentQualities = Arrays.asList(qualities);
|
currentQualities = qualities;
|
||||||
Logger.printDebug(() -> "VideoQualities: " + currentQualities);
|
Logger.printDebug(() -> "VideoQualities: " + Arrays.toString(currentQualities));
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoQuality updatedCurrentQuality = qualities[originalQualityIndex];
|
VideoQuality updatedCurrentQuality = qualities[originalQualityIndex];
|
||||||
if (updatedCurrentQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE &&
|
if (updatedCurrentQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE
|
||||||
(currentQuality == null
|
&& (currentQuality == null || currentQuality != updatedCurrentQuality)) {
|
||||||
|| !currentQuality.patch_getQualityName().equals(updatedCurrentQuality.patch_getQualityName()))) {
|
|
||||||
currentQuality = updatedCurrentQuality;
|
currentQuality = updatedCurrentQuality;
|
||||||
Logger.printDebug(() -> "Current quality changed to: " + updatedCurrentQuality);
|
Logger.printDebug(() -> "Current quality changed to: " + updatedCurrentQuality);
|
||||||
|
|
||||||
@@ -171,7 +169,9 @@ public class RememberVideoQualityPatch {
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
for (VideoQuality quality : qualities) {
|
for (VideoQuality quality : qualities) {
|
||||||
final int qualityResolution = quality.patch_getResolution();
|
final int qualityResolution = quality.patch_getResolution();
|
||||||
if (qualityResolution != AUTOMATIC_VIDEO_QUALITY_VALUE && qualityResolution <= preferredQuality) {
|
if ((qualityResolution != AUTOMATIC_VIDEO_QUALITY_VALUE && qualityResolution <= preferredQuality)
|
||||||
|
// Use the lowest video quality if the default is lower than all available.
|
||||||
|
|| i == qualities.length - 1) {
|
||||||
final boolean qualityNeedsChange = (i != originalQualityIndex);
|
final boolean qualityNeedsChange = (i != originalQualityIndex);
|
||||||
Logger.printDebug(() -> qualityNeedsChange
|
Logger.printDebug(() -> qualityNeedsChange
|
||||||
? "Changing video quality from: " + updatedCurrentQuality + " to: " + quality
|
? "Changing video quality from: " + updatedCurrentQuality + " to: " + quality
|
||||||
@@ -213,7 +213,7 @@ public class RememberVideoQualityPatch {
|
|||||||
Logger.printDebug(() -> "Cannot save default quality, qualities is null");
|
Logger.printDebug(() -> "Cannot save default quality, qualities is null");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
VideoQuality quality = currentQualities.get(userSelectedQualityIndex);
|
VideoQuality quality = currentQualities[userSelectedQualityIndex];
|
||||||
saveDefaultQuality(quality.patch_getResolution());
|
saveDefaultQuality(quality.patch_getResolution());
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class VideoQualityDialogButton {
|
|||||||
},
|
},
|
||||||
view -> {
|
view -> {
|
||||||
try {
|
try {
|
||||||
List<VideoQuality> qualities = RememberVideoQualityPatch.getCurrentQualities();
|
VideoQuality[] qualities = RememberVideoQualityPatch.getCurrentQualities();
|
||||||
VideoQualityMenuInterface menu = RememberVideoQualityPatch.getCurrentMenuInterface();
|
VideoQualityMenuInterface menu = RememberVideoQualityPatch.getCurrentMenuInterface();
|
||||||
if (qualities == null || menu == null) {
|
if (qualities == null || menu == null) {
|
||||||
Logger.printDebug(() -> "Cannot reset quality, videoQualities is null");
|
Logger.printDebug(() -> "Cannot reset quality, videoQualities is null");
|
||||||
@@ -186,13 +186,13 @@ public class VideoQualityDialogButton {
|
|||||||
*/
|
*/
|
||||||
private static void showVideoQualityDialog(Context context) {
|
private static void showVideoQualityDialog(Context context) {
|
||||||
try {
|
try {
|
||||||
List<VideoQuality> currentQualities = RememberVideoQualityPatch.getCurrentQualities();
|
VideoQuality[] currentQualities = RememberVideoQualityPatch.getCurrentQualities();
|
||||||
VideoQuality currentQuality = RememberVideoQualityPatch.getCurrentQuality();
|
VideoQuality currentQuality = RememberVideoQualityPatch.getCurrentQuality();
|
||||||
if (currentQualities == null || currentQuality == null) {
|
if (currentQualities == null || currentQuality == null) {
|
||||||
Logger.printDebug(() -> "Cannot show qualities dialog, videoQualities is null");
|
Logger.printDebug(() -> "Cannot show qualities dialog, videoQualities is null");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (currentQualities.size() < 2) {
|
if (currentQualities.length < 2) {
|
||||||
// Should never happen.
|
// Should never happen.
|
||||||
Logger.printException(() -> "Cannot show qualities dialog, no qualities available");
|
Logger.printException(() -> "Cannot show qualities dialog, no qualities available");
|
||||||
return;
|
return;
|
||||||
@@ -205,9 +205,15 @@ public class VideoQualityDialogButton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// -1 adjustment for automatic quality at first index.
|
// -1 adjustment for automatic quality at first index.
|
||||||
final int listViewSelectedIndex = currentQualities.indexOf(currentQuality) - 1;
|
int listViewSelectedIndex = -1;
|
||||||
|
for (VideoQuality quality : currentQualities) {
|
||||||
|
if (quality.patch_getQualityName().equals(currentQuality.patch_getQualityName())) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
listViewSelectedIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
List<String> qualityLabels = new ArrayList<>(currentQualities.size() - 1);
|
List<String> qualityLabels = new ArrayList<>(currentQualities.length - 1);
|
||||||
for (VideoQuality availableQuality : currentQualities) {
|
for (VideoQuality availableQuality : currentQualities) {
|
||||||
if (availableQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE) {
|
if (availableQuality.patch_getResolution() != AUTOMATIC_VIDEO_QUALITY_VALUE) {
|
||||||
qualityLabels.add(availableQuality.patch_getQualityName());
|
qualityLabels.add(availableQuality.patch_getQualityName());
|
||||||
@@ -310,7 +316,7 @@ public class VideoQualityDialogButton {
|
|||||||
listView.setOnItemClickListener((parent, view, which, id) -> {
|
listView.setOnItemClickListener((parent, view, which, id) -> {
|
||||||
try {
|
try {
|
||||||
final int originalIndex = which + 1; // Adjust for automatic.
|
final int originalIndex = which + 1; // Adjust for automatic.
|
||||||
VideoQuality selectedQuality = currentQualities.get(originalIndex);
|
VideoQuality selectedQuality = currentQualities[originalIndex];
|
||||||
Logger.printDebug(() -> "User clicked on quality: " + selectedQuality);
|
Logger.printDebug(() -> "User clicked on quality: " + selectedQuality);
|
||||||
|
|
||||||
if (RememberVideoQualityPatch.shouldRememberVideoQuality()) {
|
if (RememberVideoQualityPatch.shouldRememberVideoQuality()) {
|
||||||
|
|||||||
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
|
|||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
android.useAndroidX = true
|
android.useAndroidX = true
|
||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
version = 5.33.0-dev.9
|
version = 5.33.0-dev.13
|
||||||
|
|||||||
@@ -5,6 +5,5 @@ import app.revanced.patcher.fingerprint
|
|||||||
internal val isFacebookButtonEnabledFingerprint = fingerprint {
|
internal val isFacebookButtonEnabledFingerprint = fingerprint {
|
||||||
parameters()
|
parameters()
|
||||||
returns("Z")
|
returns("Z")
|
||||||
strings("com.facebook.messaging.inbox.tab.plugins.core.tabtoolbarbutton." +
|
strings("FacebookButtonTabButtonImplementation")
|
||||||
"facebookbutton.facebooktoolbarbutton.FacebookButtonTabButtonImplementation")
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user