From e3832c059545e8519b33aa9e35d1cbb9f95d69c3 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Mon, 7 Sep 2015 12:43:27 -0700 Subject: Create singleton accessors of HostDatabase and PubkeyDatabase --- app/src/main/java/org/connectbot/util/HostDatabase.java | 15 +++++++++++++++ .../main/java/org/connectbot/util/PubkeyDatabase.java | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) (limited to 'app/src') diff --git a/app/src/main/java/org/connectbot/util/HostDatabase.java b/app/src/main/java/org/connectbot/util/HostDatabase.java index 1c42dce..abb4c5b 100644 --- a/app/src/main/java/org/connectbot/util/HostDatabase.java +++ b/app/src/main/java/org/connectbot/util/HostDatabase.java @@ -144,6 +144,21 @@ public class HostDatabase extends RobustSQLiteOpenHelper { /** Used during upgrades from DB version 23 to 24. */ private final float displayDensity; + private static final Object sInstanceLock = new Object(); + + private static HostDatabase sInstance; + + public static HostDatabase get(Context context) { + synchronized (sInstanceLock) { + if (sInstance != null) { + return sInstance; + } + + sInstance = new HostDatabase(context.getApplicationContext()); + return sInstance; + } + } + public HostDatabase(Context context) { super(context, DB_NAME, null, DB_VERSION); diff --git a/app/src/main/java/org/connectbot/util/PubkeyDatabase.java b/app/src/main/java/org/connectbot/util/PubkeyDatabase.java index 026b9e8..e3ca784 100644 --- a/app/src/main/java/org/connectbot/util/PubkeyDatabase.java +++ b/app/src/main/java/org/connectbot/util/PubkeyDatabase.java @@ -61,6 +61,22 @@ public class PubkeyDatabase extends RobustSQLiteOpenHelper { addTableName(TABLE_PUBKEYS); } + private static final Object sInstanceLock = new Object(); + + private static PubkeyDatabase sInstance; + + public static PubkeyDatabase get(Context context) { + synchronized (sInstanceLock) { + if (sInstance != null) { + return sInstance; + } + + Context appContext = context.getApplicationContext(); + sInstance = new PubkeyDatabase(appContext); + return sInstance; + } + } + public PubkeyDatabase(Context context) { super(context, DB_NAME, null, DB_VERSION); -- cgit v1.2.3