Skip to content

Commit fa666d5

Browse files
authored
Merge pull request #2425 from wmathurin/dev
Showing spinner until login webview page is loaded
2 parents 5d68ec4 + 2273c8e commit fa666d5

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

libs/SalesforceSDK/res/layout/sf__login.xml

+7
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@
66
android:layout_height="match_parent"
77
android:windowDrawsSystemBarBackgrounds="true">
88

9+
<ProgressBar
10+
android:id="@+id/sf__loading_spinner"
11+
android:layout_width="wrap_content"
12+
android:layout_height="wrap_content"
13+
android:layout_centerInParent="true"/>
14+
915
<WebView android:id="@+id/sf__oauth_webview"
16+
android:visibility="gone"
1017
android:layout_width="match_parent"
1118
android:layout_height="match_parent"
1219
android:scrollbars="none"

libs/SalesforceSDK/src/com/salesforce/androidsdk/ui/OAuthWebviewHelper.java

+12-3
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import android.webkit.WebView;
5454
import android.webkit.WebViewClient;
5555
import android.widget.Button;
56+
import android.widget.ProgressBar;
5657
import android.widget.RelativeLayout;
5758
import android.widget.Toast;
5859

@@ -476,9 +477,18 @@ protected class AuthWebViewClient extends WebViewClient {
476477

477478
@Override
478479
public void onPageFinished(WebView view, String url) {
480+
// Hide spinner / show web view
481+
final RelativeLayout parentView = (RelativeLayout) view.getParent();
482+
if (parentView != null) {
483+
final ProgressBar progressBar = parentView.findViewById(R.id.sf__loading_spinner);
484+
if (progressBar != null) {
485+
progressBar.setVisibility(View.INVISIBLE);
486+
}
487+
}
488+
view.setVisibility(View.VISIBLE);
489+
479490
// Remove the native login buttons (biometric, IDP) once on the allow/deny screen
480491
if (url.contains("frontdoor.jsp")) {
481-
final RelativeLayout parentView = (RelativeLayout) view.getParent();
482492
if (parentView != null) {
483493
final Button idpButton = parentView.findViewById(R.id.sf__idp_login_button);
484494
if (idpButton != null) {
@@ -490,9 +500,8 @@ public void onPageFinished(WebView view, String url) {
490500
}
491501
}
492502
}
493-
494503
EventsObservable.get().notifyEvent(EventType.AuthWebViewPageFinished, url);
495-
super.onPageFinished(view, url);
504+
super.onPageFinished(view, url);
496505
}
497506

498507
@Override

0 commit comments

Comments
 (0)