catch cursor window allocation exception

This commit is contained in:
Daniel Gultsch 2018-11-13 09:58:28 +01:00
parent 09f9baeeef
commit 6d67854086

View file

@ -647,17 +647,23 @@ public class DatabaseBackend extends SQLiteOpenHelper {
db.insert(RESOLVER_RESULTS_TABLENAME, null, contentValues);
}
public Resolver.Result findResolverResult(String domain) {
public synchronized Resolver.Result findResolverResult(String domain) {
SQLiteDatabase db = this.getReadableDatabase();
String where = Resolver.Result.DOMAIN + "=?";
String[] whereArgs = {domain};
final Cursor cursor = db.query(RESOLVER_RESULTS_TABLENAME, null, where, whereArgs, null, null, null);
Resolver.Result result = null;
if (cursor != null) {
if (cursor.moveToFirst()) {
result = Resolver.Result.fromCursor(cursor);
try {
if (cursor.moveToFirst()) {
result = Resolver.Result.fromCursor(cursor);
}
} catch (Exception e ) {
Log.d(Config.LOGTAG,"unable to find cached resolver result in database "+e.getMessage());
return null;
} finally {
cursor.close();
}
cursor.close();
}
return result;
}