fix NPEs after delayed start

    Bug: 3476031
    Bug: 3480829
    add check for valid tab

Change-Id: I4430ba2f369125fe263599aa5c8b3460bf6e7ffa
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 8ca151a..da98a1c 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -317,7 +317,10 @@
             if (urlData.isEmpty()) {
                 loadUrl(webView, mSettings.getHomePage());
             } else {
-                loadUrlDataIn(t, urlData);
+                // monkey protection against delayed start
+                if (t != null) {
+                    loadUrlDataIn(t, urlData);
+                }
             }
         } else {
             mTabControl.restoreState(icicle, currentTab, restoreIncognitoTabs,
@@ -2088,9 +2091,12 @@
     }
 
     protected void setActiveTab(Tab tab) {
-        mTabControl.setCurrentTab(tab);
-        // the tab is guaranteed to have a webview after setCurrentTab
-        mUi.setActiveTab(tab);
+        // monkey protection against delayed start
+        if (tab != null) {
+            mTabControl.setCurrentTab(tab);
+            // the tab is guaranteed to have a webview after setCurrentTab
+            mUi.setActiveTab(tab);
+        }
     }
 
     protected void closeEmptyChildTab() {