]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryActivity.java
Update manifest for launch!
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryActivity.java
index 6bfb379dd3bc6b54dccd2ee104bf7f5ac4a39a07..ac828e6092a8633db7b2a47b3931d093e7ad80b6 100644 (file)
@@ -387,22 +387,15 @@ public class DictionaryActivity extends ListActivity {
     if (dictRaf == null) {\r
       return;\r
     }\r
-    \r
+\r
+    final SearchOperation searchOperation = currentSearchOperation;\r
+    currentSearchOperation = null;\r
+\r
     // Before we close the RAF, we have to wind the current search down.\r
-    if (currentSearchOperation != null) {\r
+    if (searchOperation != null) {\r
       Log.d(LOG, "Interrupting search to shut down.");\r
-      final SearchOperation searchOperation = currentSearchOperation;\r
       currentSearchOperation = null;\r
       searchOperation.interrupted.set(true);\r
-      synchronized (searchOperation) {\r
-        while (!searchOperation.done) {\r
-          try {\r
-            searchOperation.wait();\r
-          } catch (InterruptedException e) {\r
-            Log.d(LOG, "Interrupted.", e);\r
-          }\r
-        }\r
-      }\r
     }\r
     \r
     try {\r
@@ -419,9 +412,7 @@ public class DictionaryActivity extends ListActivity {
   // --------------------------------------------------------------------------\r
 \r
   private void onClearSearchTextButton(final Button clearSearchTextButton) {\r
-    clearSearchTextButton.requestFocus();\r
-    searchText.setText("");\r
-    searchText.requestFocus();\r
+    setSearchText("", true);\r
     Log.d(LOG, "Trying to show soft keyboard.");\r
     final InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);\r
     manager.showSoftInput(searchText, InputMethodManager.SHOW_IMPLICIT);\r
@@ -858,6 +849,8 @@ public class DictionaryActivity extends ListActivity {
             }\r
           });\r
         }\r
+      } catch (Exception e) {\r
+        Log.e(LOG, "Failure during search (can happen during Activity close.");\r
       } finally {\r
         synchronized (this) {\r
           done = true;\r