summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2011-03-28 13:14:05 +0100
committerNarayan Kamath <narayan@google.com>2011-03-28 13:14:41 +0100
commit931e4d05cb0747c3e3b5789235a5f579f5d935c9 (patch)
tree3cb9a956abb49d8594c714466c998ca946f623a2 /src
parent2203f94929460c7867e5a74b548c726a5986863c (diff)
downloadandroid_packages_apps_Gello-931e4d05cb0747c3e3b5789235a5f579f5d935c9.tar.gz
android_packages_apps_Gello-931e4d05cb0747c3e3b5789235a5f579f5d935c9.tar.bz2
android_packages_apps_Gello-931e4d05cb0747c3e3b5789235a5f579f5d935c9.zip
Fix a monkey reported crash in the instant search engine.
Also preemptively fixes another possible crash that monkey might expose. (It is imporbable that users will ever see these crashes). bug:4177054 Change-Id: I5ff156ff4f4eb3a9cd7970c7ca4880ae598ee27c
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/InstantSearchEngine.java32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/com/android/browser/InstantSearchEngine.java b/src/com/android/browser/InstantSearchEngine.java
index 85e494a4..6ff7db75 100644
--- a/src/com/android/browser/InstantSearchEngine.java
+++ b/src/com/android/browser/InstantSearchEngine.java
@@ -174,7 +174,12 @@ public class InstantSearchEngine implements SearchEngine, DropdownChangeListener
* visible tab.
*/
private void switchSearchboxIfNeeded() {
- final SearchBox searchBox = getCurrentWebview().getSearchBox();
+ final WebView current = getCurrentWebview();
+ if (current == null) {
+ return;
+ }
+
+ final SearchBox searchBox = current.getSearchBox();
if (searchBox != mSearchBox) {
if (mSearchBox != null) {
mSearchBox.removeSearchBoxListener(mListener);
@@ -188,7 +193,12 @@ public class InstantSearchEngine implements SearchEngine, DropdownChangeListener
}
private boolean isInstantPage() {
- String currentUrl = getCurrentWebview().getUrl();
+ final WebView current = getCurrentWebview();
+ if (current == null) {
+ return false;
+ }
+
+ final String currentUrl = current.getUrl();
if (currentUrl != null) {
Uri uri = Uri.parse(currentUrl);
@@ -210,7 +220,10 @@ public class InstantSearchEngine implements SearchEngine, DropdownChangeListener
mController.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
- getCurrentWebview().loadUrl(getInstantBaseUrl());
+ final WebView current = getCurrentWebview();
+ if (current != null) {
+ current.loadUrl(getInstantBaseUrl());
+ }
}
});
}
@@ -292,7 +305,12 @@ public class InstantSearchEngine implements SearchEngine, DropdownChangeListener
}
private int rescaleHeight(int height) {
- final float scale = getCurrentWebview().getScale();
+ final WebView current = getCurrentWebview();
+ if (current == null) {
+ return 0;
+ }
+
+ final float scale = current.getScale();
if (scale != 0) {
return (int) (height / scale);
}
@@ -306,8 +324,10 @@ public class InstantSearchEngine implements SearchEngine, DropdownChangeListener
if (rescaledHeight != mHeight) {
mHeight = rescaledHeight;
- mSearchBox.setDimensions(0, 0, 0, rescaledHeight);
- mSearchBox.onresize();
+ if (mSearchBox != null) {
+ mSearchBox.setDimensions(0, 0, 0, rescaledHeight);
+ mSearchBox.onresize();
+ }
}
}