2024-01-01 16:33:20 +01:00
|
|
|
package app.revanced.integrations.youtube.patches.spoof;
|
2023-01-10 19:27:43 +01:00
|
|
|
|
2024-02-29 03:35:16 +01:00
|
|
|
import app.revanced.integrations.shared.Logger;
|
2024-01-01 16:33:20 +01:00
|
|
|
import app.revanced.integrations.youtube.settings.Settings;
|
2023-01-10 19:27:43 +01:00
|
|
|
|
2024-01-01 16:33:20 +01:00
|
|
|
@SuppressWarnings("unused")
|
2023-01-10 19:27:43 +01:00
|
|
|
public class SpoofAppVersionPatch {
|
|
|
|
|
2024-02-29 03:35:16 +01:00
|
|
|
private static final boolean SPOOF_APP_VERSION_ENABLED;
|
|
|
|
private static final String SPOOF_APP_VERSION_TARGET;
|
|
|
|
|
|
|
|
static {
|
|
|
|
// TODO: remove this migration code
|
|
|
|
// Spoof targets 16.x and 17.x that no longer reliably work.
|
|
|
|
if (Settings.SPOOF_APP_VERSION_TARGET.get().compareTo("18.01.01") < 0) {
|
|
|
|
Logger.printInfo(() -> "Resetting spoof app version target");
|
|
|
|
Settings.SPOOF_APP_VERSION_TARGET.resetToDefault();
|
|
|
|
}
|
|
|
|
// End migration
|
|
|
|
|
|
|
|
SPOOF_APP_VERSION_ENABLED = Settings.SPOOF_APP_VERSION.get();
|
|
|
|
SPOOF_APP_VERSION_TARGET = Settings.SPOOF_APP_VERSION_TARGET.get();
|
|
|
|
}
|
2023-11-18 00:50:55 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Injection point
|
|
|
|
*/
|
2023-01-10 19:27:43 +01:00
|
|
|
public static String getYouTubeVersionOverride(String version) {
|
2023-11-18 00:50:55 +01:00
|
|
|
if (SPOOF_APP_VERSION_ENABLED) return SPOOF_APP_VERSION_TARGET;
|
2023-01-10 19:27:43 +01:00
|
|
|
return version;
|
|
|
|
}
|
2023-11-18 00:50:55 +01:00
|
|
|
|
|
|
|
public static boolean isSpoofingToEqualOrLessThan(String version) {
|
|
|
|
return SPOOF_APP_VERSION_ENABLED && SPOOF_APP_VERSION_TARGET.compareTo(version) <= 0;
|
|
|
|
}
|
|
|
|
|
2023-01-10 19:27:43 +01:00
|
|
|
}
|