init
diff --git a/app/src/main/java/com/supwisdom/activities/CrashHandler.kt b/app/src/main/java/com/supwisdom/activities/CrashHandler.kt
index 784aeab..48caaf3 100644
--- a/app/src/main/java/com/supwisdom/activities/CrashHandler.kt
+++ b/app/src/main/java/com/supwisdom/activities/CrashHandler.kt
@@ -1,5 +1,6 @@
package com.supwisdom.activities
+import android.annotation.SuppressLint
import android.content.Context
import android.content.pm.PackageManager
import android.os.Build
@@ -20,6 +21,7 @@
private val info = HashMap<String, String>()
companion object {
+ @SuppressLint("StaticFieldLeak")
private var INSTANCE: CrashHandler? = null
fun getInstance(): CrashHandler {
@@ -58,7 +60,6 @@
* @return true 如果处理了该异常信息;否则返回false.
*/
private fun handleException(ex: Throwable?): Boolean {
-// CommonUtil.showBar(context!!)
ThreadPool.getShortPool().execute(Runnable {
CommonUtil.doSleep(500)
Looper.prepare()
diff --git a/app/src/main/java/com/supwisdom/db/ConfigParaDao.kt b/app/src/main/java/com/supwisdom/db/ConfigParaDao.kt
index acaaa43..b66a2d1 100644
--- a/app/src/main/java/com/supwisdom/db/ConfigParaDao.kt
+++ b/app/src/main/java/com/supwisdom/db/ConfigParaDao.kt
@@ -12,7 +12,7 @@
**/
class ConfigParaDao constructor(context: Context) {
private val INDEX = "1"
- private val TABLE = DBTransdtlHelper.TABLE_NAME_CONFIGPARA
+ private val TABLE = DBLocalHelper.TABLE_NAME_CONFIGPARA
private val dbHelper = DBTransdtlHelper.getInstance(context)
fun getLock(): Lock {
diff --git a/app/src/main/java/com/supwisdom/db/DBLocalHelper.kt b/app/src/main/java/com/supwisdom/db/DBLocalHelper.kt
new file mode 100644
index 0000000..a57dc71
--- /dev/null
+++ b/app/src/main/java/com/supwisdom/db/DBLocalHelper.kt
@@ -0,0 +1,62 @@
+package com.supwisdom.db
+
+import android.content.Context
+import android.database.sqlite.SQLiteDatabase
+import android.database.sqlite.SQLiteOpenHelper
+import java.util.concurrent.locks.Lock
+import java.util.concurrent.locks.ReentrantLock
+
+/**
+ ** create by zzq on 2019/7/31
+ ** @desc 本地配置文件
+ **/
+class DBLocalHelper private constructor(context: Context) : SQLiteOpenHelper(context, DB_NAME, null, VERSION) {
+ companion object {
+ private val DB_NAME = "db_local_config"
+ private val VERSION = 1
+ private var instance: DBLocalHelper? = null
+
+ const val TABLE_NAME_CONFIGPARA = "tb_configpara"
+
+ fun getInstance(context: Context): DBLocalHelper {
+ if (null == instance) {
+ synchronized(DBLocalHelper::class.java) {
+ if (null == instance) {
+ instance = DBLocalHelper(context)
+ }
+ }
+ }
+ return instance!!
+ }
+ }
+
+ /**
+ * SQL for create table
+ */
+ private val CREATE_TABLE_NAME_CONFIGPARA = ("create table IF NOT EXISTS "
+ + TABLE_NAME_CONFIGPARA + " ( "
+ + BeanPropEnum.ConfigPara.id + " long primary key, "
+ + BeanPropEnum.ConfigPara.mode + " integer, "
+ + BeanPropEnum.ConfigPara.devphyid + " char(8), "
+ + BeanPropEnum.ConfigPara.psamno + " char(12), "
+ + BeanPropEnum.ConfigPara.epayIP + " varchar(128), "
+ + BeanPropEnum.ConfigPara.epayPort + " integer, "
+ + BeanPropEnum.ConfigPara.epayUri + " varchar(128), "
+ + BeanPropEnum.ConfigPara.managePwd + " char(6),"
+ + BeanPropEnum.ConfigPara.initOK + " integer ) ")
+ private val DROP_TABLE_NAME_CONFIGPARA = "DROP TABLE IF EXISTS $TABLE_NAME_CONFIGPARA"
+
+ private val lock = ReentrantLock()
+ fun getLock(): Lock {
+ return lock
+ }
+
+ override fun onCreate(db: SQLiteDatabase) {
+ db.execSQL(CREATE_TABLE_NAME_CONFIGPARA)
+ }
+
+ override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
+ if (oldVersion < newVersion) {
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/supwisdom/db/DBTransdtlHelper.kt b/app/src/main/java/com/supwisdom/db/DBTransdtlHelper.kt
index b4ecdd1..aadfb8d 100644
--- a/app/src/main/java/com/supwisdom/db/DBTransdtlHelper.kt
+++ b/app/src/main/java/com/supwisdom/db/DBTransdtlHelper.kt
@@ -16,7 +16,6 @@
private val VERSION = 1
private var instance: DBTransdtlHelper? = null
- const val TABLE_NAME_CONFIGPARA = "tb_configpara"
const val TABLE_NAME_DTL_ONLINE = "tb_dtl_online"
const val TABLE_NAME_DTL_OFFLINE = "tb_dtl_offline"
@@ -35,18 +34,6 @@
/**
* SQL for create table
*/
- private val CREATE_TABLE_NAME_CONFIGPARA = ("create table IF NOT EXISTS "
- + TABLE_NAME_CONFIGPARA + " ( "
- + BeanPropEnum.ConfigPara.id + " long primary key, "
- + BeanPropEnum.ConfigPara.mode + " integer, "
- + BeanPropEnum.ConfigPara.devphyid + " char(8), "
- + BeanPropEnum.ConfigPara.psamno + " char(12), "
- + BeanPropEnum.ConfigPara.epayIP + " varchar(128), "
- + BeanPropEnum.ConfigPara.epayPort + " integer, "
- + BeanPropEnum.ConfigPara.epayUri + " varchar(128), "
- + BeanPropEnum.ConfigPara.managePwd + " char(6),"
- + BeanPropEnum.ConfigPara.initOK + " integer ) ")
- private val DROP_TABLE_NAME_CONFIGPARA = "DROP TABLE IF EXISTS $TABLE_NAME_CONFIGPARA"
private val CRAETE_TABLE_NAME_DTL_ONLINE = ("create table IF NOT EXISTS "
+ TABLE_NAME_DTL_ONLINE + " ( "
+ BeanPropEnum.TransdtlOnline.devphyid + " char(8),"
@@ -90,7 +77,6 @@
}
override fun onCreate(db: SQLiteDatabase) {
- db.execSQL(CREATE_TABLE_NAME_CONFIGPARA)
db.execSQL(CRAETE_TABLE_NAME_DTL_ONLINE)
db.execSQL(CRAETE_TABLE_NAME_DTL_OFFLINE)
}
diff --git a/app/src/main/java/com/supwisdom/db/Pos.kt b/app/src/main/java/com/supwisdom/db/Pos.kt
index 5a3e1f2..d03277b 100644
--- a/app/src/main/java/com/supwisdom/db/Pos.kt
+++ b/app/src/main/java/com/supwisdom/db/Pos.kt
@@ -8,9 +8,8 @@
** @desc
**/
class Pos constructor(context: Context) {
- private val context = context
private val sdContext = SDContext(context)
- private val configParaDao = ConfigParaDao(context)
+ private val configParaDao = ConfigParaDao(sdContext)
private var cfgRecord: ConfigParaRecord? = null
private val dynamicParaDao = DynamicParaDao(context)
private var dyRecord: DynamicParaRecord? = null
diff --git a/app/src/main/java/com/supwisdom/db/SDContext.kt b/app/src/main/java/com/supwisdom/db/SDContext.kt
index df8b2b3..1b870a6 100644
--- a/app/src/main/java/com/supwisdom/db/SDContext.kt
+++ b/app/src/main/java/com/supwisdom/db/SDContext.kt
@@ -44,13 +44,15 @@
name: String, mode: Int,
factory: SQLiteDatabase.CursorFactory?
): SQLiteDatabase {
- return SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null)
+ val file = getDatabasePath(name) ?: return super.openOrCreateDatabase(name, mode, factory)
+ return SQLiteDatabase.openOrCreateDatabase(file, factory)
}
override fun openOrCreateDatabase(
name: String, mode: Int,
factory: SQLiteDatabase.CursorFactory?, errorHandler: DatabaseErrorHandler?
): SQLiteDatabase {
- return SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null)
+ val file = getDatabasePath(name) ?: return super.openOrCreateDatabase(name, mode, factory, errorHandler)
+ return SQLiteDatabase.openOrCreateDatabase(file, factory)
}
}
\ No newline at end of file