Fix database management
Этот коммит содержится в:
@@ -30,7 +30,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM
|
|||||||
fun onComplete(success: Boolean, result: T)
|
fun onComplete(success: Boolean, result: T)
|
||||||
}
|
}
|
||||||
|
|
||||||
private abstract class DatabaseAsyncTask<T>(val handler: DatabaseHandler<T>) : AsyncTask<Unit, Unit, T?>() {
|
private abstract class DatabaseAsyncTask<T>(val handler: DatabaseHandler<T?>) : AsyncTask<Unit, Unit, T?>() {
|
||||||
|
|
||||||
private var error: RuntimeException? = null
|
private var error: RuntimeException? = null
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM
|
|||||||
protected abstract fun executeMethod(): T
|
protected abstract fun executeMethod(): T
|
||||||
|
|
||||||
override fun onPostExecute(result: T?) {
|
override fun onPostExecute(result: T?) {
|
||||||
result?.let { handler.onComplete(error == null, result) }
|
handler.onComplete(error == null, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM
|
|||||||
db.insertOrThrow("position", null, values)
|
db.insertOrThrow("position", null, values)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun insertPositionAsync(position: Position, handler: DatabaseHandler<Unit>) {
|
fun insertPositionAsync(position: Position, handler: DatabaseHandler<Unit?>) {
|
||||||
object : DatabaseAsyncTask<Unit>(handler) {
|
object : DatabaseAsyncTask<Unit>(handler) {
|
||||||
override fun executeMethod() {
|
override fun executeMethod() {
|
||||||
insertPosition(position)
|
insertPosition(position)
|
||||||
@@ -138,7 +138,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deletePositionAsync(id: Long, handler: DatabaseHandler<Unit>) {
|
fun deletePositionAsync(id: Long, handler: DatabaseHandler<Unit?>) {
|
||||||
object : DatabaseAsyncTask<Unit>(handler) {
|
object : DatabaseAsyncTask<Unit>(handler) {
|
||||||
override fun executeMethod() {
|
override fun executeMethod() {
|
||||||
deletePosition(id)
|
deletePosition(id)
|
||||||
|
|||||||
@@ -104,8 +104,8 @@ class TrackingController(private val context: Context) : PositionListener, Netwo
|
|||||||
|
|
||||||
private fun write(position: Position) {
|
private fun write(position: Position) {
|
||||||
log("write", position)
|
log("write", position)
|
||||||
databaseHelper.insertPositionAsync(position, object : DatabaseHandler<Unit> {
|
databaseHelper.insertPositionAsync(position, object : DatabaseHandler<Unit?> {
|
||||||
override fun onComplete(success: Boolean, result: Unit) {
|
override fun onComplete(success: Boolean, result: Unit?) {
|
||||||
if (success) {
|
if (success) {
|
||||||
if (isOnline && isWaiting) {
|
if (isOnline && isWaiting) {
|
||||||
read()
|
read()
|
||||||
@@ -139,8 +139,8 @@ class TrackingController(private val context: Context) : PositionListener, Netwo
|
|||||||
|
|
||||||
private fun delete(position: Position) {
|
private fun delete(position: Position) {
|
||||||
log("delete", position)
|
log("delete", position)
|
||||||
databaseHelper.deletePositionAsync(position.id, object : DatabaseHandler<Unit> {
|
databaseHelper.deletePositionAsync(position.id, object : DatabaseHandler<Unit?> {
|
||||||
override fun onComplete(success: Boolean, result: Unit) {
|
override fun onComplete(success: Boolean, result: Unit?) {
|
||||||
if (success) {
|
if (success) {
|
||||||
read()
|
read()
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user