diff options
author | Kenny Root <kenny@the-b.org> | 2015-09-07 12:43:27 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-09-07 12:51:24 -0700 |
commit | e3832c059545e8519b33aa9e35d1cbb9f95d69c3 (patch) | |
tree | a37e1e6a4de50556278f822d701aaa25e69a469e | |
parent | 278ff1a5fd6762d4f2fbdc224f6545ff1a810d17 (diff) | |
download | connectbot-e3832c059545e8519b33aa9e35d1cbb9f95d69c3.tar.gz connectbot-e3832c059545e8519b33aa9e35d1cbb9f95d69c3.tar.bz2 connectbot-e3832c059545e8519b33aa9e35d1cbb9f95d69c3.zip |
Create singleton accessors of HostDatabase and PubkeyDatabase
-rw-r--r-- | app/src/main/java/org/connectbot/util/HostDatabase.java | 15 | ||||
-rw-r--r-- | app/src/main/java/org/connectbot/util/PubkeyDatabase.java | 16 |
2 files changed, 31 insertions, 0 deletions
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); |