Skip to content

Commit 0cd7a27

Browse files
committed
Merge branch 'hotfix/1.0.0'
2 parents 0995d8d + 719e45a commit 0cd7a27

File tree

4 files changed

+78
-45
lines changed

4 files changed

+78
-45
lines changed

android/android.iml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<option name="ALLOW_USER_CONFIGURATION" value="false" />
1919
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
2020
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
21-
<option name="RES_FOLDERS_RELATIVE_PATH" value="" />
21+
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
2222
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
2323
<option name="LIBRARY_PROJECT" value="true" />
2424
</configuration>

android/src/main/java/io/fullstack/oauth/OAuthManagerDialogFragment.java

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package io.fullstack.oauth;
22

33
import android.annotation.SuppressLint;
4+
import android.app.Dialog;
45
import android.app.DialogFragment;
56
import android.content.Context;
67
import android.content.Intent;
8+
import android.content.res.Resources;
79
import android.graphics.Bitmap;
10+
import android.graphics.Color;
11+
import android.graphics.drawable.ColorDrawable;
812
import android.net.Uri;
913
import android.os.Build;
1014
import android.os.Bundle;
@@ -16,10 +20,12 @@
1620
import android.view.View;
1721
import android.view.ViewGroup;
1822
import android.view.ViewGroup.LayoutParams;
23+
import android.view.Window;
1924
import android.view.WindowManager;
2025
import android.webkit.WebView;
2126
import android.webkit.WebViewClient;
22-
import android.widget.FrameLayout;
27+
import android.widget.ProgressBar;
28+
import android.widget.RelativeLayout;
2329

2430
import com.facebook.react.bridge.ReactContext;
2531
import com.github.scribejava.core.model.OAuth1AccessToken;
@@ -39,6 +45,7 @@ public class OAuthManagerDialogFragment extends DialogFragment implements Advanc
3945

4046
private ReactContext mReactContext;
4147
private AdvancedWebView mWebView;
48+
private ProgressBar mProgressBar;
4249

4350
public static final OAuthManagerDialogFragment newInstance(
4451
final ReactContext reactContext,
@@ -58,21 +65,36 @@ public OAuthManagerDialogFragment(
5865
this.mReactContext = reactContext;
5966
}
6067

68+
@Override
69+
public Dialog onCreateDialog(Bundle savedInstanceState) {
70+
Dialog dialog = super.onCreateDialog(savedInstanceState);
71+
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
72+
return dialog;
73+
}
74+
75+
@Override
76+
public void onStart() {
77+
super.onStart();
78+
Dialog dialog = getDialog();
79+
if (dialog != null) {
80+
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
81+
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
82+
}
83+
}
84+
6185
@Override
6286
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
63-
// View rootView = inflater.inflate(R.id.primary, container, false);
64-
// final Context context = inflater.getContext();
65-
// DisplayMetrics metrics = context.getResources().getDisplayMetrics();
66-
// final int DIALOG_HEIGHT = (int) Math.min(0.99f * metrics.heightPixels, 1024);
67-
68-
// LayoutParams rootViewLayoutParams = new LayoutParams(
69-
// LayoutParams.FILL_PARENT,
70-
// LayoutParams.FILL_PARENT
71-
// );
7287
final Context context = mReactContext;
7388
LayoutParams rootViewLayoutParams = this.getFullscreenLayoutParams(context);
7489

75-
FrameLayout rootView = new FrameLayout(context);
90+
RelativeLayout rootView = new RelativeLayout(context);
91+
92+
mProgressBar = new ProgressBar(context);
93+
RelativeLayout.LayoutParams progressParams = new RelativeLayout.LayoutParams(convertDpToPixel(50f,context),convertDpToPixel(50f,context));
94+
progressParams.addRule(RelativeLayout.CENTER_IN_PARENT);
95+
mProgressBar.setLayoutParams(progressParams);
96+
mProgressBar.setIndeterminate(true);
97+
7698
getDialog().setCanceledOnTouchOutside(true);
7799
rootView.setLayoutParams(rootViewLayoutParams);
78100

@@ -89,13 +111,14 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
89111

90112
LayoutParams layoutParams = this.getFullscreenLayoutParams(context);
91113
//new LayoutParams(
92-
// LayoutParams.FILL_PARENT,
114+
// LayoutParams.FILL_PARENT,
93115
// DIALOG_HEIGHT
94116
// );
95117
// mWebView.setLayoutParams(layoutParams);
96118

97119
rootView.addView(mWebView, layoutParams);
98-
120+
rootView.addView(mProgressBar,progressParams);
121+
99122
// LinearLayout pframe = new LinearLayout(context);
100123
// pframe.setId(WIDGET_TAG);
101124
// pframe.setOrientation(LinearLayout.VERTICAL);
@@ -146,7 +169,7 @@ private LayoutParams getFullscreenLayoutParams(Context context) {
146169
realHeight = display.getHeight();
147170
}
148171

149-
return new LayoutParams(realWidth, realHeight);
172+
return new LayoutParams(realWidth, realHeight-100);
150173
}
151174

152175

@@ -157,7 +180,13 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
157180
return interceptUrl(view, url, true);
158181
}
159182

160-
@Override
183+
@Override
184+
public void onPageFinished(WebView view, String url) {
185+
super.onPageFinished(view, url);
186+
mProgressBar.setVisibility(View.GONE);
187+
}
188+
189+
@Override
161190
public void onReceivedError(WebView view, int code, String desc, String failingUrl) {
162191
Log.i(TAG, "onReceivedError: " + failingUrl);
163192
super.onReceivedError(view, code, desc, failingUrl);
@@ -184,12 +213,6 @@ public void setComplete(final OAuth1AccessToken accessToken) {
184213
Log.d(TAG, "Completed: " + accessToken);
185214
}
186215

187-
@Override
188-
public void onStart() {
189-
super.onStart();
190-
191-
Log.d(TAG, "onStart for DialogFragment");
192-
}
193216

194217
// @Override
195218
// public void onDismiss(final DialogInterface dialog) {
@@ -296,4 +319,11 @@ static boolean isCallbackUri(String uri, String callbackUrl) {
296319
if (!TextUtils.isEmpty(frag) && !TextUtils.equals(frag, u.getFragment())) return false;
297320
return true;
298321
}
322+
323+
public static int convertDpToPixel(float dp, Context context){
324+
Resources resources = context.getResources();
325+
DisplayMetrics metrics = resources.getDisplayMetrics();
326+
float px = dp * ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
327+
return (int)px;
328+
}
299329
}

android/src/main/java/io/fullstack/oauth/OAuthManagerFragmentController.java

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
11
package io.fullstack.oauth;
22

3-
import android.app.Dialog;
4-
import android.os.Bundle;
3+
import android.app.Fragment;
4+
import android.app.FragmentTransaction;
5+
import android.net.Uri;
6+
import android.os.AsyncTask;
57
import android.os.Handler;
68
import android.os.Looper;
7-
import android.os.AsyncTask;
8-
import android.text.TextUtils;
9-
import im.delight.android.webview.AdvancedWebView;
10-
11-
import com.facebook.react.bridge.ReactContext;
12-
import android.net.Uri;
139
import android.util.Log;
14-
import android.view.View;
15-
import android.view.ViewGroup;
16-
import android.app.Fragment;
17-
import android.app.FragmentTransaction;
1810

19-
import java.util.HashMap;
20-
import java.util.Map;
21-
import java.io.IOException;
22-
23-
import com.github.scribejava.core.model.OAuth1RequestToken;
11+
import com.facebook.react.bridge.ReactContext;
12+
import com.github.scribejava.core.exceptions.OAuthConnectionException;
2413
import com.github.scribejava.core.model.OAuth1AccessToken;
14+
import com.github.scribejava.core.model.OAuth1RequestToken;
2515
import com.github.scribejava.core.model.OAuth2AccessToken;
26-
import com.github.scribejava.core.model.Token;
27-
28-
import com.github.scribejava.core.model.OAuthRequest;
29-
import com.github.scribejava.core.oauth.OAuthService;
3016
import com.github.scribejava.core.oauth.OAuth10aService;
3117
import com.github.scribejava.core.oauth.OAuth20Service;
32-
import com.github.scribejava.core.exceptions.OAuthConnectionException;
18+
19+
import java.io.IOException;
20+
import java.util.HashMap;
21+
import java.util.Map;
22+
23+
import im.delight.android.webview.AdvancedWebView;
3324

3425
// Credit where credit is due:
3526
// Mostly taken from
@@ -135,7 +126,7 @@ public void run() {
135126
(OAuthManagerDialogFragment) fragmentManager.findFragmentByTag(TAG);
136127

137128
if (frag != null) {
138-
frag.dismissAllowingStateLoss();
129+
//frag.dismissAllowingStateLoss();
139130
}
140131
}
141132
});
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:id="@+id/activity_main"
5+
android:layout_width="match_parent"
6+
android:layout_height="match_parent"
7+
android:background="#000000"
8+
>
9+
10+
11+
12+
</RelativeLayout>

0 commit comments

Comments
 (0)