diff options
author | Jin Cao <jinyan@google.com> | 2014-10-06 23:24:19 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-10-06 23:24:19 +0000 |
commit | 962eb8ebd4b627e05b00ab658425d0fc7a42329c (patch) | |
tree | 92f2aeb86180d1725b3d0e59fd0b2629240fdef3 /src | |
parent | 7909e6a7d08dc02a6ea36f0b16cd153f1a648548 (diff) | |
parent | 39e56eabea3938935fb0e9b8f087d6ba950ddf9d (diff) | |
download | android_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.java | 7 | ||||
-rw-r--r-- | src/com/android/mail/ui/MaterialSearchViewController.java | 15 |
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; } } } |