From 8a371e93cb9a0ada3f5659ec40a5867613387fa7 Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Thu, 8 Jan 2015 00:12:03 +1100 Subject: [PATCH 1/2] Add Poche::getDatabase to prevent overwriting reference, leading to a leak Fixes the following exception java.lang.IllegalStateException: /data/data/fr.gaulupeau.apps.InThePoche/databases/article_db.sqlite SQLiteDatabase created and never closed Signed-off-by: Olivier Mehani --- app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java b/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java index a4fa4786..1a2894b1 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java @@ -217,7 +217,7 @@ public class Poche extends Activity { if (pref.getInt("update_checker", 0) < 9) { // Wipe Database, because we now save HTML content instead of plain text ArticlesSQLiteOpenHelper helper = new ArticlesSQLiteOpenHelper(this); - database = helper.getReadableDatabase(); + getDatabase(); helper.truncateTables(database); showToast("Update: Wiped Database. Please synchronize."); } @@ -239,6 +239,13 @@ public class Poche extends Activity { apiToken = settings.getString("APIToken", ""); } + private void getDatabase() { + if (database == null) { + ArticlesSQLiteOpenHelper helper = new ArticlesSQLiteOpenHelper(this); + database = helper.getReadableDatabase(); + } + } + @Override protected void onResume() { super.onResume(); @@ -259,8 +266,7 @@ public class Poche extends Activity { private void updateUnread() { runOnUiThread(new Runnable() { public void run() { - ArticlesSQLiteOpenHelper helper = new ArticlesSQLiteOpenHelper(getApplicationContext()); - database = helper.getReadableDatabase(); + getDatabase(); int news = database.query(ARTICLE_TABLE, null, ARCHIVE + "=0", null, null, null, null).getCount(); btnGetPost.setText(String.format(getString(R.string.btnGetPost), news)); } From eea88f02b6e0fd01be86f33ade2284721c83afde Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Mon, 12 Jan 2015 23:21:12 +0100 Subject: [PATCH 2/2] Remove a git error --- app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java b/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java index dc4d84c8..838b4348 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/Poche.java @@ -73,7 +73,6 @@ import static fr.gaulupeau.apps.Poche.Helpers.PREFS_NAME; * Main activity class */ @TargetApi(Build.VERSION_CODES.FROYO) -<<<<<<< HEAD public class Poche extends Activity implements FeedUpdaterInterface { private static SQLiteDatabase database; Button btnGetPost;