Shouldn't escape provisioning if setup incomplete.

User should not be able to escape managed provisioning if user setup
isn't complete. Currently one can longpress in webView, Tap "Assist" and
Tap "Sign In". Block that.

Bug: 29746101
Change-Id: I98a05da918f135b0a0ae44f5719440fdf3481429
diff --git a/src/com/android/managedprovisioning/uiflows/WebActivity.java b/src/com/android/managedprovisioning/uiflows/WebActivity.java
index eefcfa9..9858fdd 100644
--- a/src/com/android/managedprovisioning/uiflows/WebActivity.java
+++ b/src/com/android/managedprovisioning/uiflows/WebActivity.java
@@ -20,10 +20,14 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.view.View;
+import android.view.View.OnLongClickListener;
+import android.webkit.WebResourceRequest;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 
 import com.android.managedprovisioning.ProvisionLogger;
+import com.android.managedprovisioning.common.Utils;
 
 /**
  * This activity shows a web view, which loads the url indicated in the starting intent. By default
@@ -42,6 +46,7 @@
     private static final String EXTRA_ALLOWED_URL_BASE = "extra_allowed_url_base";
 
     private WebView mWebView;
+    private final Utils mUtils = new Utils();
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -57,15 +62,24 @@
         }
         mWebView.loadUrl(extraUrl);
         mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
+                String url = request.getUrl().toString();
+                if (extraAllowedUrlBase != null && url.startsWith(extraAllowedUrlBase)) {
+                    view.loadUrl(url);
+                }
+                return true;
+            }
+        });
+        if (!mUtils.isUserSetupCompleted(this)) {
+            // User should not be able to escape provisioning if user setup isn't complete.
+            mWebView.setOnLongClickListener(new OnLongClickListener() {
                 @Override
-                public boolean shouldOverrideUrlLoading(WebView view, String url) {
-                    if (extraAllowedUrlBase != null && url.startsWith(extraAllowedUrlBase)) {
-                        view.loadUrl(url);
-                    }
+                public boolean onLongClick(View v) {
                     return true;
                 }
             });
-
+        }
         this.setContentView(mWebView);
     }