Close cursor after getting data from DB
Fixes: 64487360 Test: manual Change-Id: I7d8a7550dca272a62b2c664cc893e4319e628c18
This commit is contained in:
@@ -17,6 +17,9 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
import static com.android.settings.search.IndexDatabaseHelper.IndexColumns;
|
||||
import static com.android.settings.search.IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
@@ -28,9 +31,6 @@ import com.android.settings.utils.AsyncLoader;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.android.settings.search.IndexDatabaseHelper.IndexColumns;
|
||||
import static com.android.settings.search.IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX;
|
||||
|
||||
/**
|
||||
* AsyncTask to retrieve Settings, First party app and any intent based results.
|
||||
*/
|
||||
@@ -191,10 +191,12 @@ public class DatabaseResultLoader extends AsyncLoader<Set<? extends SearchResult
|
||||
* @return A set of the matching results.
|
||||
*/
|
||||
private Set<SearchResult> query(String whereClause, String[] selection, int baseRank) {
|
||||
SQLiteDatabase database = IndexDatabaseHelper.getInstance(mContext).getReadableDatabase();
|
||||
final Cursor resultCursor = database.query(TABLE_PREFS_INDEX, SELECT_COLUMNS, whereClause,
|
||||
selection, null, null, null);
|
||||
return mConverter.convertCursor(mSiteMapManager, resultCursor, baseRank);
|
||||
final SQLiteDatabase database =
|
||||
IndexDatabaseHelper.getInstance(mContext).getReadableDatabase();
|
||||
try (Cursor resultCursor = database.query(TABLE_PREFS_INDEX, SELECT_COLUMNS, whereClause,
|
||||
selection, null, null, null)) {
|
||||
return mConverter.convertCursor(mSiteMapManager, resultCursor, baseRank);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -34,7 +34,7 @@ import java.util.List;
|
||||
public class SavedQueryLoader extends AsyncLoader<List<? extends SearchResult>> {
|
||||
|
||||
// Max number of proposed suggestions
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||
@VisibleForTesting
|
||||
static final int MAX_PROPOSED_SUGGESTIONS = 5;
|
||||
|
||||
private final SQLiteDatabase mDatabase;
|
||||
@@ -51,15 +51,17 @@ public class SavedQueryLoader extends AsyncLoader<List<? extends SearchResult>>
|
||||
|
||||
@Override
|
||||
public List<? extends SearchResult> loadInBackground() {
|
||||
Cursor cursor = mDatabase.query(IndexDatabaseHelper.Tables.TABLE_SAVED_QUERIES /* table */,
|
||||
try (final Cursor cursor = mDatabase.query(
|
||||
IndexDatabaseHelper.Tables.TABLE_SAVED_QUERIES /* table */,
|
||||
new String[]{SavedQueriesColumns.QUERY} /* columns */,
|
||||
null /* selection */,
|
||||
null /* selectionArgs */,
|
||||
null /* groupBy */,
|
||||
null /* having */,
|
||||
"rowId DESC" /* orderBy */,
|
||||
String.valueOf(MAX_PROPOSED_SUGGESTIONS) /* limit */);
|
||||
return convertCursorToResult(cursor);
|
||||
String.valueOf(MAX_PROPOSED_SUGGESTIONS) /* limit */)) {
|
||||
return convertCursorToResult(cursor);
|
||||
}
|
||||
}
|
||||
|
||||
private List<SearchResult> convertCursorToResult(Cursor cursor) {
|
||||
|
Reference in New Issue
Block a user