X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FDbOpRunner.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FDbOpRunner.java;h=9404d7d04020072c321141265375096136702ed9;hb=b1b663239741e95fc1087de186a10e5e762135db;hp=0000000000000000000000000000000000000000;hpb=abd5a19252bf81af903c3406132030e3ad63704f;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/async/DbOpRunner.java b/app/src/main/java/net/ktnx/mobileledger/async/DbOpRunner.java new file mode 100644 index 00000000..9404d7d0 --- /dev/null +++ b/app/src/main/java/net/ktnx/mobileledger/async/DbOpRunner.java @@ -0,0 +1,47 @@ +/* + * Copyright © 2019 Damyan Ivanov. + * This file is part of MoLe. + * MoLe is free software: you can distribute it and/or modify it + * under the term of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your opinion), any later version. + * + * MoLe is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License terms for details. + * + * You should have received a copy of the GNU General Public License + * along with MoLe. If not, see . + */ + +package net.ktnx.mobileledger.async; + +import android.database.sqlite.SQLiteDatabase; +import android.util.Log; + +import net.ktnx.mobileledger.utils.MLDB; + +import java.util.concurrent.BlockingQueue; + +class DbOpRunner extends Thread { + private final BlockingQueue queue; + public DbOpRunner(BlockingQueue queue) { + this.queue = queue; + } + @Override + public void run() { + while (!interrupted()) { + try { + DbOpItem item = queue.take(); + Log.d("opQrunner", "Got "+item.sql); + SQLiteDatabase db = MLDB.getDatabase(); + Log.d("opQrunner", "Executing "+item.sql); + db.execSQL(item.sql, item.params); + } + catch (InterruptedException e) { + break; + } + } + } +}