X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;ds=sidebyside;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdao%2FBaseDAO.java;h=b68ea5157a76abd8ff84898dfb7285fa76085083;hb=93545c6fbf1244fbd96ecfc50e1115dbdc25f9ae;hp=0bcb3e488d7fe25b7e15b91f9949af795860d0dc;hpb=1c3647f273df2f15ef299896c24cda95c6119988;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/BaseDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/BaseDAO.java index 0bcb3e48..b68ea515 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/BaseDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/BaseDAO.java @@ -24,12 +24,12 @@ import android.os.Looper; import androidx.annotation.Nullable; abstract class BaseDAO { - abstract void insertSync(T item); - public void insert(T item, @Nullable Runnable onDone) { + abstract long insertSync(T item); + public void insert(T item, @Nullable OnInsertedReceiver receiver) { AsyncTask.execute(() -> { - insertSync(item); - if (onDone != null) - new Handler(Looper.getMainLooper()).post(onDone); + long id = insertSync(item); + if (receiver != null) + new Handler(Looper.getMainLooper()).post(() -> receiver.onInsert(id)); }); } @@ -49,6 +49,7 @@ abstract class BaseDAO { new Handler(Looper.getMainLooper()).post(onDone); }); } - - + interface OnInsertedReceiver { + void onInsert(long id); + } }