import android.content.Context;
import android.os.Bundle;
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;
import androidx.lifecycle.LiveData;
+import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+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.ui.HelpDialog;
import net.ktnx.mobileledger.utils.Logger;
import org.jetbrains.annotations.NotNull;
public class TemplateListFragment extends Fragment {
private FragmentTemplateListBinding b;
private OnTemplateListFragmentInteractionListener mListener;
-
public TemplateListFragment() {
// Required empty public constructor
}
*
* @return A new instance of fragment TemplateListFragment.
*/
- // TODO: Rename and change types and number of parameters
public static TemplateListFragment newInstance() {
TemplateListFragment fragment = new TemplateListFragment();
Bundle args = new Bundle();
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) {
+ HelpDialog.show(requireContext(), R.string.template_list_help_title,
+ R.array.template_list_help_text);
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-// if (getArguments() != null) {
-// mParam1 = getArguments().getString(ARG_PARAM1);
-// mParam2 = getArguments().getString(ARG_PARAM2);
-// }
+ setHasOptionsMenu(true);
}
@Override
Bundle savedInstanceState) {
Logger.debug("flow", "PatternListFragment.onCreateView()");
b = FragmentTemplateListBinding.inflate(inflater);
+ FragmentActivity activity = requireActivity();
+
+ if (activity instanceof FabManager.FabHandler)
+ FabManager.handle((FabManager.FabHandler) activity, b.templateList);
TemplatesRecyclerViewAdapter modelAdapter = new TemplatesRecyclerViewAdapter();
b.templateList.setAdapter(modelAdapter);
TemplateHeaderDAO pDao = DB.get()
- .getPatternDAO();
+ .getTemplateDAO();
LiveData<List<TemplateHeader>> templates = pDao.getTemplates();
templates.observe(getViewLifecycleOwner(), modelAdapter::setTemplates);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
llm.setOrientation(RecyclerView.VERTICAL);
b.templateList.setLayoutManager(llm);
+ DividerItemDecoration did =
+ new TemplateListDivider(activity, DividerItemDecoration.VERTICAL);
+ b.templateList.addItemDecoration(did);
+
return b.getRoot();
}
@Override
void onSaveTemplate();
void onEditTemplate(Long id);
+
+ void onDuplicateTemplate(long id);
}
}
\ No newline at end of file