Fix authentication with openid
This commit is contained in:
parent
bd8e2a50d9
commit
af53071b08
|
@ -19,6 +19,7 @@ import static app.fedilab.fedilabtube.client.RetrofitPeertubeAPI.updateCredentia
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -35,8 +36,10 @@ import androidx.appcompat.app.AlertDialog;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
|
||||||
|
import app.fedilab.fedilabtube.BuildConfig;
|
||||||
import app.fedilab.fedilabtube.R;
|
import app.fedilab.fedilabtube.R;
|
||||||
import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI;
|
import app.fedilab.fedilabtube.client.RetrofitPeertubeAPI;
|
||||||
|
import app.fedilab.fedilabtube.client.entities.AcadInstances;
|
||||||
import app.fedilab.fedilabtube.client.entities.Error;
|
import app.fedilab.fedilabtube.client.entities.Error;
|
||||||
import app.fedilab.fedilabtube.client.entities.OauthParams;
|
import app.fedilab.fedilabtube.client.entities.OauthParams;
|
||||||
import app.fedilab.fedilabtube.client.entities.Token;
|
import app.fedilab.fedilabtube.client.entities.Token;
|
||||||
|
@ -123,6 +126,15 @@ public class WebviewConnectActivity extends BaseActivity {
|
||||||
|
|
||||||
webView.setWebViewClient(new WebViewClient() {
|
webView.setWebViewClient(new WebViewClient() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
||||||
|
super.onPageStarted(view, url, favicon);
|
||||||
|
//Avoid to load first page for academic instances & openid
|
||||||
|
if (!BuildConfig.full_instances && url.contains("/client")) {
|
||||||
|
view.stopLoading();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPageFinished(WebView view, String url) {
|
public void onPageFinished(WebView view, String url) {
|
||||||
Matcher matcher = Helper.redirectPattern.matcher(url);
|
Matcher matcher = Helper.redirectPattern.matcher(url);
|
||||||
|
@ -145,6 +157,7 @@ public class WebviewConnectActivity extends BaseActivity {
|
||||||
try {
|
try {
|
||||||
token = new RetrofitPeertubeAPI(WebviewConnectActivity.this, instance, null).manageToken(oauthParams);
|
token = new RetrofitPeertubeAPI(WebviewConnectActivity.this, instance, null).manageToken(oauthParams);
|
||||||
} catch (Error error) {
|
} catch (Error error) {
|
||||||
|
error.printStackTrace();
|
||||||
Error.displayError(WebviewConnectActivity.this, error);
|
Error.displayError(WebviewConnectActivity.this, error);
|
||||||
}
|
}
|
||||||
if (token != null) {
|
if (token != null) {
|
||||||
|
|
|
@ -14,23 +14,10 @@ package app.fedilab.fedilabtube.helper;
|
||||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||||
* see <http://www.gnu.org/licenses>. */
|
* see <http://www.gnu.org/licenses>. */
|
||||||
|
|
||||||
import static app.fedilab.fedilabtube.helper.Helper.TAG;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.IdRes;
|
|
||||||
import androidx.annotation.StyleRes;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.appcompat.view.ContextThemeWrapper;
|
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Method;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
||||||
import app.fedilab.fedilabtube.BuildConfig;
|
|
||||||
import app.fedilab.fedilabtube.R;
|
|
||||||
|
|
||||||
|
|
||||||
public class HelperAcadInstance {
|
public class HelperAcadInstance {
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
package app.fedilab.fedilabtube.helper;
|
package app.fedilab.fedilabtube.helper;
|
||||||
|
|
||||||
import static app.fedilab.fedilabtube.helper.Helper.TAG;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.StyleRes;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
Loading…
Reference in New Issue