summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJin Cao <jinyan@google.com>2014-10-06 23:24:19 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-10-06 23:24:19 +0000
commit962eb8ebd4b627e05b00ab658425d0fc7a42329c (patch)
tree92f2aeb86180d1725b3d0e59fd0b2629240fdef3 /src
parent7909e6a7d08dc02a6ea36f0b16cd153f1a648548 (diff)
parent39e56eabea3938935fb0e9b8f087d6ba950ddf9d (diff)
downloadandroid_packages_apps_UnifiedEmail-962eb8ebd4b627e05b00ab658425d0fc7a42329c.tar.gz
android_packages_apps_UnifiedEmail-962eb8ebd4b627e05b00ab658425d0fc7a42329c.tar.bz2
android_packages_apps_UnifiedEmail-962eb8ebd4b627e05b00ab658425d0fc7a42329c.zip
Merge "Don't assume that we'll close our db after saveRecentQuery" into ub-gmail-ur14-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/mail/providers/SuggestionsProvider.java7
-rw-r--r--src/com/android/mail/ui/MaterialSearchViewController.java15
2 files changed, 14 insertions, 8 deletions
diff --git a/src/com/android/mail/providers/SuggestionsProvider.java b/src/com/android/mail/providers/SuggestionsProvider.java
index 519082200..4492daa7a 100644
--- a/src/com/android/mail/providers/SuggestionsProvider.java
+++ b/src/com/android/mail/providers/SuggestionsProvider.java
@@ -64,7 +64,7 @@ public class SuggestionsProvider extends SearchRecentSuggestionsProvider {
@Override
public Cursor query(String query) {
- MergeCursor mergeCursor = null;
+ Cursor mergeCursor = null;
synchronized (mTermsLock) {
mFullQueryTerms = null;
@@ -101,7 +101,10 @@ public class SuggestionsProvider extends SearchRecentSuggestionsProvider {
if (query.length() >= MIN_QUERY_LENGTH_FOR_CONTACTS) {
cursors.add(new ContactsCursor().query(query));
}
- mergeCursor = new MergeCursor(cursors.toArray(new Cursor[cursors.size()]));
+
+ if (cursors.size() > 0) {
+ mergeCursor = new MergeCursor(cursors.toArray(new Cursor[cursors.size()]));
+ }
}
return mergeCursor;
}
diff --git a/src/com/android/mail/ui/MaterialSearchViewController.java b/src/com/android/mail/ui/MaterialSearchViewController.java
index 0dd6a7aff..ca54d242e 100644
--- a/src/com/android/mail/ui/MaterialSearchViewController.java
+++ b/src/com/android/mail/ui/MaterialSearchViewController.java
@@ -62,7 +62,8 @@ public class MaterialSearchViewController implements ViewMode.ModeChangeListener
private int mControllerState;
private int mEndXCoordForTabletLandscape;
- private boolean mWaitToDestroyProvider;
+ private boolean mSavePending;
+ private boolean mDestroyProvider;
public MaterialSearchViewController(MailActivity activity, ActivityController controller,
Intent intent, Bundle savedInstanceState) {
@@ -93,7 +94,8 @@ public class MaterialSearchViewController implements ViewMode.ModeChangeListener
* This controller should not be used after this is called.
*/
public void onDestroy() {
- if (!mWaitToDestroyProvider) {
+ mDestroyProvider = mSavePending;
+ if (!mSavePending) {
mSuggestionsProvider.cleanup();
}
mActivity.getViewMode().removeListener(this);
@@ -232,11 +234,11 @@ public class MaterialSearchViewController implements ViewMode.ModeChangeListener
}
// static asynctask to save the query in the background.
- class SaveRecentQueryTask extends AsyncTask<String, Void, Void> {
+ private class SaveRecentQueryTask extends AsyncTask<String, Void, Void> {
@Override
protected void onPreExecute() {
- mWaitToDestroyProvider = true;
+ mSavePending = true;
}
@Override
@@ -247,10 +249,11 @@ public class MaterialSearchViewController implements ViewMode.ModeChangeListener
@Override
protected void onPostExecute(Void aVoid) {
- if (mWaitToDestroyProvider) {
+ if (mDestroyProvider) {
mSuggestionsProvider.cleanup();
- mWaitToDestroyProvider = false;
+ mDestroyProvider = false;
}
+ mSavePending = false;
}
}
}