]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternListFragment.java
guard against ncurrent navigation controller destination being null
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / patterns / PatternListFragment.java
index ad3564565dbee4fab3049196e09299e9aeedee3f..3f8dbb13f21e9af11fa509c5edaa3a25eaaffaf6 100644 (file)
@@ -28,14 +28,20 @@ import androidx.fragment.app.Fragment;
 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
@@ -73,16 +79,16 @@ public class PatternListFragment extends Fragment {
     @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);
@@ -111,12 +117,6 @@ public class PatternListFragment extends Fragment {
         };
         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
@@ -128,8 +128,8 @@ public class PatternListFragment extends Fragment {
      * >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