diff --git a/app/src/main/java/com/android/sebiya/net/sample/SocialApiSelectDialog.java b/app/src/main/java/com/android/sebiya/net/sample/SocialApiSelectDialog.java
index 9a29e2c..db57098 100644
--- a/app/src/main/java/com/android/sebiya/net/sample/SocialApiSelectDialog.java
+++ b/app/src/main/java/com/android/sebiya/net/sample/SocialApiSelectDialog.java
@@ -55,6 +55,7 @@ public void onItemClick(final View view, final int i) {
InstagramLogin.with(getFragmentManager())
.withStartUrl("https://www.instagram.com/accounts/login/")
.withFullScreenMode(true)
+ .withFullScreenStyle(R.style.AppTheme_FullScreenDialog)
.withClientInfo(InstagramClientInfo.CLIENT_ID,
InstagramClientInfo.REDIRECT_URI)
// .withMinWidth(getActivity().getWindowManager().getDefaultDisplay().getWidth())
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 545b9c6..e619468 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -16,5 +16,10 @@
+
+
diff --git a/library/src/main/java/com/android/sebiya/net/social/AuthDialogFragment.java b/library/src/main/java/com/android/sebiya/net/social/AuthDialogFragment.java
index b90c8e3..dcc9f5e 100644
--- a/library/src/main/java/com/android/sebiya/net/social/AuthDialogFragment.java
+++ b/library/src/main/java/com/android/sebiya/net/social/AuthDialogFragment.java
@@ -73,10 +73,10 @@ public void onReceiveValue(final Boolean value) {
}
});
instance.flush();
- webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setTextZoom(100);
webView.getSettings().setJavaScriptEnabled(true);
webView.setBackgroundColor(-1);
+
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView webView, String str) {
super.onPageFinished(webView, str);
@@ -90,6 +90,7 @@ public boolean shouldOverrideUrlLoading(WebView webView, String url) {
return super.shouldOverrideUrlLoading(webView, url);
}
});
+
webView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(final View v, final int keyCode, final KeyEvent event) {
diff --git a/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramAuthDialogFragment.java b/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramAuthDialogFragment.java
index f39c35f..85e7aef 100644
--- a/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramAuthDialogFragment.java
+++ b/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramAuthDialogFragment.java
@@ -3,6 +3,8 @@
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.support.annotation.StyleRes;
+import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
import android.text.TextUtils;
import android.util.Log;
@@ -27,6 +29,8 @@ public class InstagramAuthDialogFragment extends AuthDialogFragment {
private static final String EXTRA_FULL_SCREEN_MODE = "full_screen_mode";
+ private static final String EXTRA_FULL_SCREEN_STYLE_RES = "full_screen_style_res";
+
private String mClientId;
private String mRedirectUrl;
@@ -47,6 +51,7 @@ public static InstagramAuthDialogFragment show(FragmentManager fragmentManager,
args.putInt(ARGS_HEIGHT, builder.minHeight);
args.putString(EXTRA_START_URL, builder.startUrl);
args.putBoolean(EXTRA_FULL_SCREEN_MODE, builder.fullScreenMode);
+ args.putInt(EXTRA_FULL_SCREEN_STYLE_RES, builder.fullScreenStyle);
newDialog.setArguments(args);
newDialog.show(fragmentManager, "auth");
return newDialog;
@@ -79,6 +84,12 @@ public void onCreate(@Nullable final Bundle savedInstanceState) {
mRedirectUrl = getArguments().getString(EXTRA_REDIRECT_URL);
mStartUrl = getArguments().getString(EXTRA_START_URL);
mFullScreenMode = getArguments().getBoolean(EXTRA_FULL_SCREEN_MODE);
+ if (mFullScreenMode) {
+ @StyleRes int fullScreenStyle = getArguments().getInt(EXTRA_FULL_SCREEN_STYLE_RES);
+ if (fullScreenStyle != -1) {
+ setStyle(DialogFragment.STYLE_NORMAL, fullScreenStyle);
+ }
+ }
}
@Override
@@ -116,6 +127,11 @@ protected boolean shouldOverrideUrlLoading(final WebView webView, final String u
if (url == null) {
return false;
}
+ if (url.startsWith("https://www.facebook.com")) {
+ String newUrl = url.replace("www.facebook.com", "m.facebook.com");
+ webView.loadUrl(newUrl);
+ return true;
+ }
Uri uri = Uri.parse(url);
if (uri.getPathSegments().isEmpty()) {
Log.i(LOG_TAG, "shouldOverrideUrlLoading. instagram home page.");
diff --git a/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramLogin.java b/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramLogin.java
index 79cad5d..a721831 100644
--- a/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramLogin.java
+++ b/library/src/main/java/com/android/sebiya/net/social/instagram/InstagramLogin.java
@@ -1,5 +1,6 @@
package com.android.sebiya.net.social.instagram;
+import android.support.annotation.StyleRes;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
import com.android.sebiya.net.social.AuthCallbacks;
@@ -26,6 +27,8 @@ public static class Builder {
boolean fullScreenMode;
+ @StyleRes int fullScreenStyle = -1;
+
private AuthCallbacks authCallback;
private Builder(FragmentManager fragmentManager) {
@@ -58,6 +61,11 @@ public Builder withFullScreenMode(boolean fullScreenMode) {
return this;
}
+ public Builder withFullScreenStyle(@StyleRes int styleRes) {
+ fullScreenStyle = styleRes;
+ return this;
+ }
+
public DialogFragment show() {
return InstagramAuthDialogFragment.show(fragmentManager, this);
}