fix(GmsCore support): Handle GmsCore flavors when checking for updates

This commit is contained in:
oSumAtrIX 2026-02-16 18:41:30 +01:00
parent 9f3a16005a
commit 2aa19f5995
No known key found for this signature in database
GPG key ID: A9B3094ACDB604B4

View file

@ -14,11 +14,14 @@ import android.os.PowerManager;
import android.provider.Settings; import android.provider.Settings;
import android.util.Pair; import android.util.Pair;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import app.revanced.extension.shared.requests.Requester; import app.revanced.extension.shared.requests.Requester;
import app.revanced.extension.shared.requests.Route; import app.revanced.extension.shared.requests.Route;
import app.revanced.extension.shared.settings.BaseSettings; import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.ui.CustomDialog; import app.revanced.extension.shared.ui.CustomDialog;
import org.json.JSONObject; import org.json.JSONObject;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
@ -219,11 +222,17 @@ public class GmsCoreSupport {
Utils.runOnBackgroundThread(() -> { Utils.runOnBackgroundThread(() -> {
try { try {
PackageManager manager = context.getPackageManager(); PackageManager manager = context.getPackageManager();
String installedVersion = manager.getPackageInfo(packageName, 0).versionName; var installedVersion = manager.getPackageInfo(packageName, 0).versionName;
Logger.printDebug(() -> "Installed GmsCore version: " + installedVersion); // GmsCore adds suffixes for flavor builds. Remove the suffix for version comparison.
int suffixIndex = installedVersion.indexOf('-');
if (suffixIndex != -1)
installedVersion = installedVersion.substring(0, suffixIndex);
String finalInstalledVersion = installedVersion;
String latestVersion = getLatestVersion.get(); Logger.printDebug(() -> "Installed GmsCore version: " + finalInstalledVersion);
var latestVersion = getLatestVersion.get();
if (latestVersion == null || latestVersion.isEmpty()) { if (latestVersion == null || latestVersion.isEmpty()) {
Logger.printDebug(() -> "Could not get latest GmsCore version"); Logger.printDebug(() -> "Could not get latest GmsCore version");
@ -235,7 +244,7 @@ public class GmsCoreSupport {
// Compare versions // Compare versions
if (!installedVersion.equals(latestVersion)) { if (!installedVersion.equals(latestVersion)) {
Logger.printInfo(() -> "GmsCore update available. Installed: " + installedVersion Logger.printInfo(() -> "GmsCore update available. Installed: " + finalInstalledVersion
+ ", Latest: " + latestVersion); + ", Latest: " + latestVersion);
showUpdateDialog(context, installedVersion, latestVersion); showUpdateDialog(context, installedVersion, latestVersion);