X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplatesActivity.java;h=410b7d62878ac4027ce418f55280a5175674ea23;hb=36b27f8294f563effd27b01d3b20e9fcaebf7fb4;hp=62a005ffb437950f0de0e330cd9c93c0c1a3a550;hpb=20bf9e983f65ae6e7e963130d4352104f0dc87e3;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplatesActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplatesActivity.java index 62a005ff..410b7d62 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplatesActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplatesActivity.java @@ -20,6 +20,7 @@ package net.ktnx.mobileledger.ui.templates; import android.os.Bundle; import android.view.MenuItem; +import androidx.activity.result.ActivityResultLauncher; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; import androidx.lifecycle.ViewModelProvider; @@ -36,6 +37,7 @@ import net.ktnx.mobileledger.dao.TemplateHeaderDAO; import net.ktnx.mobileledger.databinding.ActivityTemplatesBinding; import net.ktnx.mobileledger.db.DB; import net.ktnx.mobileledger.db.TemplateWithAccounts; +import net.ktnx.mobileledger.ui.QR; import net.ktnx.mobileledger.ui.activity.CrashReportingActivity; import net.ktnx.mobileledger.utils.Logger; @@ -43,10 +45,11 @@ import java.util.Objects; public class TemplatesActivity extends CrashReportingActivity implements TemplateListFragment.OnTemplateListFragmentInteractionListener, - TemplateDetailsFragment.InteractionListener { + TemplateDetailsFragment.InteractionListener, QR.QRScanResultReceiver, QR.QRScanTrigger { public static final String ARG_ADD_TEMPLATE = "add-template"; private ActivityTemplatesBinding b; private NavController navController; + private ActivityResultLauncher qrScanLauncher; // @Override // public boolean onCreateOptionsMenu(Menu menu) { // super.onCreateOptionsMenu(menu); @@ -86,6 +89,8 @@ public class TemplatesActivity extends CrashReportingActivity b.fabAdd.setOnClickListener(v -> onEditTemplate(null)); b.fabSave.setOnClickListener(v -> onSaveTemplate()); + + qrScanLauncher = QR.registerLauncher(this, this); } @Override public boolean onOptionsItemSelected(MenuItem item) { @@ -140,7 +145,7 @@ public class TemplatesActivity extends CrashReportingActivity TemplateHeaderDAO dao = DB.get() .getTemplateDAO(); - dao.getTemplateWitAccountsAsync(templateId, template -> { + dao.getTemplateWithAccountsAsync(templateId, template -> { TemplateWithAccounts copy = TemplateWithAccounts.from(template); dao.deleteAsync(template.header, () -> { navController.popBackStack(R.id.templateListFragment, false); @@ -153,4 +158,16 @@ public class TemplatesActivity extends CrashReportingActivity }); }); } + @Override + public void onQRScanResult(String scanned) { + Logger.debug("PatDet_fr", String.format("Got scanned text '%s'", scanned)); + TemplateDetailsViewModel model = new ViewModelProvider( + navController.getViewModelStoreOwner(R.id.template_list_navigation)).get( + TemplateDetailsViewModel.class); + model.setTestText(scanned); + } + @Override + public void triggerQRScan() { + qrScanLauncher.launch(null); + } } \ No newline at end of file