X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftemplates%2FTemplateListFragment.java;h=2f0325535cf76e4f1da6e0abd1f440958709d3c9;hb=37b0c1bde24708fe28a626c36441ec10004c519e;hp=cc5c79888cb0ba1433098af475dea1617d783c39;hpb=d95839304defead7c7d605cab2e612f1227cbfed;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java index cc5c7988..2f032553 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/templates/TemplateListFragment.java @@ -17,14 +17,20 @@ package net.ktnx.mobileledger.ui.templates; +import android.app.AlertDialog; import android.content.Context; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleEventObserver; import androidx.lifecycle.LifecycleOwner; @@ -32,10 +38,12 @@ import androidx.lifecycle.LiveData; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import net.ktnx.mobileledger.dao.PatternHeaderDAO; +import net.ktnx.mobileledger.R; +import net.ktnx.mobileledger.dao.TemplateHeaderDAO; import net.ktnx.mobileledger.databinding.FragmentTemplateListBinding; import net.ktnx.mobileledger.db.DB; import net.ktnx.mobileledger.db.TemplateHeader; +import net.ktnx.mobileledger.ui.FabManager; import net.ktnx.mobileledger.utils.Logger; import org.jetbrains.annotations.NotNull; @@ -50,7 +58,6 @@ import java.util.List; public class TemplateListFragment extends Fragment { private FragmentTemplateListBinding b; private OnTemplateListFragmentInteractionListener mListener; - public TemplateListFragment() { // Required empty public constructor } @@ -68,8 +75,29 @@ public class TemplateListFragment extends Fragment { return fragment; } @Override + public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) { + super.onCreateOptionsMenu(menu, inflater); + inflater.inflate(R.menu.template_list_menu, menu); + } + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + if (item.getItemId() == R.id.menu_item_template_list_help) { + AlertDialog.Builder adb = new AlertDialog.Builder(requireContext()); + adb.setTitle(R.string.template_list_help_title); + adb.setMessage(TextUtils.join("\n\n", requireContext().getResources() + .getStringArray( + R.array.template_list_help_text))); + adb.setPositiveButton(R.string.close_button, (dialog, buttonId) -> dialog.dismiss()); + adb.create() + .show(); + return true; + } + return super.onOptionsItemSelected(item); + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setHasOptionsMenu(true); // if (getArguments() != null) { // mParam1 = getArguments().getString(ARG_PARAM1); // mParam2 = getArguments().getString(ARG_PARAM2); @@ -85,13 +113,18 @@ public class TemplateListFragment extends Fragment { TemplatesRecyclerViewAdapter modelAdapter = new TemplatesRecyclerViewAdapter(); b.templateList.setAdapter(modelAdapter); - PatternHeaderDAO pDao = DB.get() - .getPatternDAO(); - LiveData> templates = pDao.getPatterns(); + TemplateHeaderDAO pDao = DB.get() + .getTemplateDAO(); + LiveData> templates = pDao.getTemplates(); templates.observe(getViewLifecycleOwner(), modelAdapter::setTemplates); LinearLayoutManager llm = new LinearLayoutManager(getContext()); llm.setOrientation(RecyclerView.VERTICAL); b.templateList.setLayoutManager(llm); + + FragmentActivity activity = requireActivity(); + if (activity instanceof FabManager.FabHandler) + FabManager.handle((FabManager.FabHandler) activity, b.templateList); + return b.getRoot(); } @Override @@ -131,5 +164,7 @@ public class TemplateListFragment extends Fragment { void onSaveTemplate(); void onEditTemplate(Long id); + + void onDuplicateTemplate(long id); } } \ No newline at end of file