diff --git a/app/src/main/java/app/fedilab/fedilabtube/activities/LoginActivity.java b/app/src/main/java/app/fedilab/fedilabtube/activities/LoginActivity.java index dd6ff42..a091296 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/activities/LoginActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/activities/LoginActivity.java @@ -24,6 +24,7 @@ import android.text.SpannableString; import android.text.Spanned; import android.text.style.ForegroundColorSpan; import android.text.style.UnderlineSpan; +import android.util.Log; import android.util.Patterns; import android.view.MenuItem; import android.view.View; @@ -40,10 +41,13 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.Arrays; import java.util.List; +import java.util.Locale; import app.fedilab.fedilabtube.BuildConfig; import app.fedilab.fedilabtube.R; import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI; +import app.fedilab.fedilabtube.client.data.InstanceData; +import app.fedilab.fedilabtube.client.data.PluginData; import app.fedilab.fedilabtube.client.entities.AcadInstances; import app.fedilab.fedilabtube.client.entities.Error; import app.fedilab.fedilabtube.client.entities.Oauth; @@ -190,6 +194,15 @@ public class LoginActivity extends BaseActivity { if (!BuildConfig.full_instances && AcadInstances.isOpenId(acadInstance)) { new Thread(() -> { try { + InstanceData.InstanceConfig instanceConfig = new RetrofitPeertubeAPI(LoginActivity.this).getConfigInstance(); + PluginData.Plugin plugin = instanceConfig.getPlugin(); + List pluginInfos = plugin.getRegistered(); + String openIdVersion = "0.0.7"; + for(PluginData.PluginInfo pluginInfo: pluginInfos) { + if(pluginInfo.getName().toLowerCase().contains("openid")) { + openIdVersion = pluginInfo.getVersion(); + } + } Oauth oauth = new RetrofitPeertubeAPI(LoginActivity.this, acadInstance, null).oauthClient(null, null, null, null); if (oauth == null) { runOnUiThread(() -> { @@ -207,7 +220,7 @@ public class LoginActivity extends BaseActivity { editor.apply(); Intent intent = new Intent(LoginActivity.this, WebviewConnectActivity.class); Bundle b = new Bundle(); - b.putString("url", "https://" + acadInstance + "/plugins/auth-openid-connect/0.0.7/auth/openid-connect"); + b.putString("url", "https://" + acadInstance + "/plugins/auth-openid-connect/"+openIdVersion+"/auth/openid-connect"); intent.putExtras(b); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);