diff --git a/app/src/main/java/org/traccar/client/DatabaseHelper.kt b/app/src/main/java/org/traccar/client/DatabaseHelper.kt index 2c1a0b0..454742c 100644 --- a/app/src/main/java/org/traccar/client/DatabaseHelper.kt +++ b/app/src/main/java/org/traccar/client/DatabaseHelper.kt @@ -30,7 +30,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM fun onComplete(success: Boolean, result: T) } - private abstract class DatabaseAsyncTask(val handler: DatabaseHandler) : AsyncTask() { + private abstract class DatabaseAsyncTask(val handler: DatabaseHandler) : AsyncTask() { private var error: RuntimeException? = null @@ -46,7 +46,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM protected abstract fun executeMethod(): 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) } - fun insertPositionAsync(position: Position, handler: DatabaseHandler) { + fun insertPositionAsync(position: Position, handler: DatabaseHandler) { object : DatabaseAsyncTask(handler) { override fun executeMethod() { insertPosition(position) @@ -138,7 +138,7 @@ class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, DATABASE_NAM } } - fun deletePositionAsync(id: Long, handler: DatabaseHandler) { + fun deletePositionAsync(id: Long, handler: DatabaseHandler) { object : DatabaseAsyncTask(handler) { override fun executeMethod() { deletePosition(id) diff --git a/app/src/main/java/org/traccar/client/TrackingController.kt b/app/src/main/java/org/traccar/client/TrackingController.kt index 301a6cf..c87623c 100644 --- a/app/src/main/java/org/traccar/client/TrackingController.kt +++ b/app/src/main/java/org/traccar/client/TrackingController.kt @@ -104,8 +104,8 @@ class TrackingController(private val context: Context) : PositionListener, Netwo private fun write(position: Position) { log("write", position) - databaseHelper.insertPositionAsync(position, object : DatabaseHandler { - override fun onComplete(success: Boolean, result: Unit) { + databaseHelper.insertPositionAsync(position, object : DatabaseHandler { + override fun onComplete(success: Boolean, result: Unit?) { if (success) { if (isOnline && isWaiting) { read() @@ -139,8 +139,8 @@ class TrackingController(private val context: Context) : PositionListener, Netwo private fun delete(position: Position) { log("delete", position) - databaseHelper.deletePositionAsync(position.id, object : DatabaseHandler { - override fun onComplete(success: Boolean, result: Unit) { + databaseHelper.deletePositionAsync(position.id, object : DatabaseHandler { + override fun onComplete(success: Boolean, result: Unit?) { if (success) { read() } else {