From 6c59eb052eaec59fc00db9316fcb93676afba11b Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Tue, 31 Mar 2015 15:49:30 -0700 Subject: [PATCH] Prevent crash from strange SQLite error Full fix may require packaging and using our own SQLite via JNI. Needs further investigation. Fixes #2506 Closes #2843 // FREEBIE --- .../thoughtcrime/securesms/database/ApnDatabase.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/org/thoughtcrime/securesms/database/ApnDatabase.java b/src/org/thoughtcrime/securesms/database/ApnDatabase.java index 77a9c282d2..ea3d872c8d 100644 --- a/src/org/thoughtcrime/securesms/database/ApnDatabase.java +++ b/src/org/thoughtcrime/securesms/database/ApnDatabase.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.AssetManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteException; import android.text.TextUtils; import android.util.Log; @@ -89,9 +90,13 @@ public class ApnDatabase { Util.copy(context.getAssets().open(ASSET_PATH, AssetManager.ACCESS_STREAMING), new FileOutputStream(dbFile)); - this.db = SQLiteDatabase.openDatabase(context.getDatabasePath(DATABASE_NAME).getPath(), - null, - SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS); + try { + this.db = SQLiteDatabase.openDatabase(context.getDatabasePath(DATABASE_NAME).getPath(), + null, + SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS); + } catch (SQLiteException e) { + throw new IOException(e); + } } private Apn getCustomApnParameters() {