X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdao%2FTemplateHeaderDAO.java;h=ed2473b2ec65ac01af50ade9af357d7bb420d551;hb=860e0419d619210bb59bcae1b64d8c5db90eef70;hp=f72104b31514c5a4fbbfac813662c3588cb285f2;hpb=40d4f7ebb9085a58133cf47eacf989ed35fa0b4e;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java index f72104b3..ed2473b2 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TemplateHeaderDAO.java @@ -17,8 +17,6 @@ package net.ktnx.mobileledger.dao; -import android.os.AsyncTask; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.LiveData; @@ -44,7 +42,7 @@ public abstract class TemplateHeaderDAO { public abstract long insertSync(TemplateHeader item); public void insertAsync(@NonNull TemplateHeader item, @Nullable Runnable callback) { - AsyncTask.execute(() -> { + BaseDAO.runAsync(() -> { insertSync(item); if (callback != null) Misc.onMainThread(callback); @@ -58,7 +56,7 @@ public abstract class TemplateHeaderDAO { public abstract void deleteSync(TemplateHeader item); public void deleteAsync(@NonNull TemplateHeader item, @NonNull Runnable callback) { - AsyncTask.execute(() -> { + BaseDAO.runAsync(() -> { deleteSync(item); Misc.onMainThread(callback); }); @@ -70,6 +68,9 @@ public abstract class TemplateHeaderDAO { @Query("SELECT * FROM templates WHERE id = :id") public abstract LiveData getTemplate(Long id); + @Query("SELECT * FROM templates WHERE id = :id") + public abstract TemplateHeader getTemplateSync(Long id); + public void getTemplateAsync(@NonNull Long id, @NonNull AsyncResultCallback callback) { LiveData resultReceiver = getTemplate(id); @@ -93,6 +94,14 @@ public abstract class TemplateHeaderDAO { @Query("SELECT * FROM templates WHERE id = :id") public abstract TemplateWithAccounts getTemplateWithAccountsSync(@NonNull Long id); + @Transaction + @Query("SELECT * FROM templates WHERE uuid = :uuid") + public abstract TemplateWithAccounts getTemplateWithAccountsByUuidSync(String uuid); + + @Transaction + @Query("SELECT * FROM templates") + public abstract List getAllTemplatesWithAccountsSync(); + @Transaction public void insertSync(TemplateWithAccounts templateWithAccounts) { long template_id = insertSync(templateWithAccounts.header); @@ -119,7 +128,7 @@ public abstract class TemplateHeaderDAO { }); } public void insertAsync(@NonNull TemplateWithAccounts item, @Nullable Runnable callback) { - AsyncTask.execute(() -> { + BaseDAO.runAsync(() -> { insertSync(item); if (callback != null) Misc.onMainThread(callback); @@ -127,7 +136,7 @@ public abstract class TemplateHeaderDAO { } public void duplicateTemplateWitAccounts(@NonNull Long id, @Nullable AsyncResultCallback callback) { - AsyncTask.execute(() -> { + BaseDAO.runAsync(() -> { TemplateWithAccounts src = getTemplateWithAccountsSync(id); TemplateWithAccounts dup = src.createDuplicate(); dup.header.setName(dup.header.getName());