Merge "Make sure timers are running during pre-login."
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() {
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index 1c44f81..85935a0 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -297,7 +297,7 @@
mVoiceSearchIndicator.setVisibility(View.VISIBLE);
}
mWebIcon.setImageResource(R.drawable.ic_search_holo_dark);
- updateSearchMode();
+ updateSearchMode(false);
} else {
mGoButton.setVisibility(View.GONE);
mVoiceSearch.setVisibility(View.GONE);
@@ -347,8 +347,8 @@
}
}
- private void updateSearchMode() {
- setSearchMode(TextUtils.isEmpty(mUrlInput.getText()));
+ private void updateSearchMode(boolean userEdited) {
+ setSearchMode(!userEdited || TextUtils.isEmpty(mUrlInput.getText()));
}
private void setSearchMode(boolean voiceSearchEnabled) {
@@ -375,7 +375,7 @@
public void afterTextChanged(Editable s) {
if (mUrlInput.hasFocus()) {
// check if input field is empty and adjust voice search state
- updateSearchMode();
+ updateSearchMode(true);
// clear voice mode when user types
setInVoiceMode(false, null);
}