public void onReceivedError(WebView paramWebView, int paramInt, String paramString1, String paramString2)
 {
   Object[] arrayOfObject = new Object[3];
   arrayOfObject[0] = Integer.valueOf(paramInt);
   arrayOfObject[1] = paramString1;
   arrayOfObject[2] = paramString2;
   LOG.d("Cordova", "CordovaWebViewClient.onReceivedError: Error code=%s Description=%s URL=%s", arrayOfObject);
   CordovaWebView localCordovaWebView = this.appView;
   localCordovaWebView.loadUrlTimeout = (1 + localCordovaWebView.loadUrlTimeout);
   JSONObject localJSONObject = new JSONObject();
   try
   {
     localJSONObject.put("errorCode", paramInt);
     localJSONObject.put("description", paramString1);
     localJSONObject.put("url", paramString2);
     this.appView.postMessage("onReceivedError", localJSONObject);
     return;
   }
   catch (JSONException localJSONException)
   {
     for (;;)
     {
       localJSONException.printStackTrace();
     }
   }
 }
 public void onPageFinished(WebView paramWebView, String paramString)
 {
   super.onPageFinished(paramWebView, paramString);
   LOG.d("Cordova", "onPageFinished(" + paramString + ")");
   if (this.doClearHistory)
   {
     paramWebView.clearHistory();
     this.doClearHistory = false;
   }
   CordovaWebView localCordovaWebView = this.appView;
   localCordovaWebView.loadUrlTimeout = (1 + localCordovaWebView.loadUrlTimeout);
   if (!paramString.equals("about:blank"))
   {
     LOG.d("Cordova", "Trying to fire onNativeReady");
     this.appView.loadUrl("javascript:try{ cordova.require('cordova/channel').onNativeReady.fire();}catch(e){_nativeReady = true;}");
     this.appView.postMessage("onNativeReady", null);
   }
   this.appView.postMessage("onPageFinished", paramString);
   if (this.appView.getVisibility() == 4) {
     new Thread(new Runnable()
     {
       public void run()
       {
         try
         {
           Thread.sleep(2000L);
           CordovaWebViewClient.this.cordova.getActivity().runOnUiThread(new Runnable()
           {
             public void run()
             {
               CordovaWebViewClient.this.appView.postMessage("spinner", "stop");
             }
           });
           return;
         }
         catch (InterruptedException localInterruptedException) {}
       }
     }).start();
   }
   if (paramString.equals("about:blank")) {
     this.appView.postMessage("exit", null);
   }
 }