From f64588b85076cc1f77e3e3a31103aa9e2684a77b Mon Sep 17 00:00:00 2001 From: sspanak Date: Fri, 29 Nov 2024 16:17:30 +0200 Subject: [PATCH] fixed crashing when trying to end a DB transaction, when there is no transaction (for example, when the storage becomes full) --- .../sspanak/tt9/db/sqlite/SQLiteOpener.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/db/sqlite/SQLiteOpener.java b/app/src/main/java/io/github/sspanak/tt9/db/sqlite/SQLiteOpener.java index 0e9a9450..dfdd3c57 100644 --- a/app/src/main/java/io/github/sspanak/tt9/db/sqlite/SQLiteOpener.java +++ b/app/src/main/java/io/github/sspanak/tt9/db/sqlite/SQLiteOpener.java @@ -88,16 +88,28 @@ public class SQLiteOpener extends SQLiteOpenHelper { public void failTransaction() { - if (db != null) { + if (db == null) { + return; + } + + if (db.inTransaction()) { db.endTransaction(); + } else { + Logger.e(LOG_TAG, "Cannot fail a transaction when not in transaction."); } } public void finishTransaction() { - if (db != null) { + if (db == null) { + return; + } + + if (db.inTransaction()) { db.setTransactionSuccessful(); db.endTransaction(); + } else { + Logger.e(LOG_TAG, "Cannot finish a transaction when not in transaction."); } } }