Skip to content

Commit 31e7931

Browse files
committed
Fixed back nvigation bug
1 parent e11eadb commit 31e7931

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

foremwebview/src/main/java/com/forem/webview/WebViewFragment.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import android.app.Activity
55
import android.content.Intent
66
import android.net.Uri
77
import android.os.Bundle
8+
import android.util.Log
89
import android.view.LayoutInflater
910
import android.view.View
1011
import android.view.ViewGroup
@@ -147,8 +148,6 @@ class WebViewFragment : Fragment(), FileChooserListener {
147148
BuildConfig.PASSPORT_AGENT_EXTENSION
148149
}
149150

150-
webView!!.loadUrl(baseUrl)
151-
152151
// WebView Settings
153152
webViewSettings(webView!!)
154153
webView!!.settings.userAgentString = "$defaultUserAgent $extensionUserAgent"
@@ -187,6 +186,8 @@ class WebViewFragment : Fragment(), FileChooserListener {
187186

188187
// WebView Chrome Client
189188
webView!!.webChromeClient = ForemWebChromeClient(fileChooserListener = this)
189+
190+
webView!!.loadUrl(baseUrl)
190191
}
191192

192193
@SuppressLint("SetJavaScriptEnabled")
@@ -300,6 +301,7 @@ class WebViewFragment : Fragment(), FileChooserListener {
300301
*/
301302
private fun centrallyHandleBackNavigation(canExitApp: Boolean) {
302303
if (oauthWebView != null && oauthWebViewContainer!!.visibility == View.GONE) {
304+
Log.d("TAGG", "WebViewFragment: centrallyHandleBackNavigation: 1")
303305
// Edge Case: Ideally this case should never arise.
304306
destroyOauthWebView()
305307
if (webView!!.canGoBack()) {
@@ -310,16 +312,20 @@ class WebViewFragment : Fragment(), FileChooserListener {
310312
}
311313
}
312314
} else if (oauthWebView != null && oauthWebViewContainer!!.visibility == View.VISIBLE) {
315+
Log.d("TAGG", "WebViewFragment: centrallyHandleBackNavigation: 2")
313316
// Case where oauthWebView is active.
314317
if (oauthWebView!!.canGoBack()) {
315318
oauthWebView?.goBack()
316319
} else {
317320
destroyOauthWebView()
318321
}
319-
} else if (oauthWebView == null && webView!!.canGoBack()) {
322+
} else if (oauthWebView == null && webView!=null && webView!!.canGoBack()) {
323+
Log.d("TAGG", "WebViewFragment: centrallyHandleBackNavigation: 3")
320324
// Case where oauthWebView is fully inactive.
321-
webView!!.goBack()
325+
Log.d("TAGG", "centrallyHandleBackNavigation: canGoBack: " + webView?.canGoBack())
326+
webView?.goBack()
322327
} else {
328+
Log.d("TAGG", "WebViewFragment: centrallyHandleBackNavigation: 4")
323329
if (canExitApp) {
324330
handleHomePageReached()
325331
}

0 commit comments

Comments
 (0)