diff options
author | Narayan Kamath <narayan@google.com> | 2011-03-28 13:14:05 +0100 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2011-03-28 13:14:41 +0100 |
commit | 931e4d05cb0747c3e3b5789235a5f579f5d935c9 (patch) | |
tree | 3cb9a956abb49d8594c714466c998ca946f623a2 /src | |
parent | 2203f94929460c7867e5a74b548c726a5986863c (diff) | |
download | android_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.java | 32 |
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(); + } } } |