import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleEventObserver;
import androidx.lifecycle.LifecycleOwner;
+import androidx.lifecycle.LiveData;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import net.ktnx.mobileledger.R;
+import net.ktnx.mobileledger.dao.PatternHeaderDAO;
import net.ktnx.mobileledger.databinding.FragmentPatternListBinding;
+import net.ktnx.mobileledger.db.DB;
+import net.ktnx.mobileledger.db.PatternHeader;
+import net.ktnx.mobileledger.utils.Logger;
import org.jetbrains.annotations.NotNull;
+import java.util.List;
+
/**
* A simple {@link Fragment} subclass.
* Use the {@link PatternListFragment#newInstance} factory method to
@Override
public View onCreateView(@NotNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
+ Logger.debug("flow", "PatternListFragment.onCreateView()");
b = FragmentPatternListBinding.inflate(inflater);
- b.toolbarLayout.setTitle(getString(R.string.title_activity_patterns));
-
- b.fab.setOnClickListener(this::fabClicked);
-
PatternsRecyclerViewAdapter modelAdapter = new PatternsRecyclerViewAdapter();
b.patternList.setAdapter(modelAdapter);
- PatternsModel.retrievePatterns(modelAdapter);
+ PatternHeaderDAO pDao = DB.get()
+ .getPatternDAO();
+ LiveData<List<PatternHeader>> patterns = pDao.getPatterns();
+ patterns.observe(getViewLifecycleOwner(), modelAdapter::setPatterns);
LinearLayoutManager llm = new LinearLayoutManager(getContext());
llm.setOrientation(RecyclerView.VERTICAL);
b.patternList.setLayoutManager(llm);
};
getLifecycle().addObserver(observer);
}
- private void fabClicked(View view) {
- if (mListener == null)
- return;
-
- mListener.onNewPattern();
- }
/**
* This interface must be implemented by activities that contain this
* fragment to allow an interaction in this fragment to be communicated
* >Communicating with Other Fragments</a> for more information.
*/
public interface OnPatternListFragmentInteractionListener {
- void onNewPattern();
+ void onSavePattern();
- void onEditPattern(int id);
+ void onEditPattern(Long id);
}
}
\ No newline at end of file