From 5b73ebe9d70b948966b628c6e79c76a8049d9cc5 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 23 Nov 2018 14:15:26 +0100 Subject: catch cursor window allocation exception --- .../de/pixart/messenger/persistance/DatabaseBackend.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/main') diff --git a/src/main/java/de/pixart/messenger/persistance/DatabaseBackend.java b/src/main/java/de/pixart/messenger/persistance/DatabaseBackend.java index 8a6690c1b..d148ba0f9 100644 --- a/src/main/java/de/pixart/messenger/persistance/DatabaseBackend.java +++ b/src/main/java/de/pixart/messenger/persistance/DatabaseBackend.java @@ -664,17 +664,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; } -- cgit v1.2.3